问题标签 [elasticsearch-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
165 浏览

elasticsearch - ElasticSearch - 获取具有不同字段的第一个文档

我只想从许多具有相同字段值的文档中获取一个文档。以下文档已编入索引:

当对术语位置进行搜索请求等于一时,应该只返回一个文档。

0 投票
0 回答
240 浏览

elasticsearch - Querying Elasticsearch and using analyzers

I am using elasticsearch on the yii2 framework using the elasticsearch extension.

I have to index some location data in elasticsearch as follows:

  • id
  • countryName
  • stateName
  • cityName
  • addressName

I sould be able to find a location based on provided data such as:

  • where countryName='united states' and stateName='new york'
  • where cityName='broadway'
  • where countryName='united states' and stateName like '%york'

and it should be case insensitive.

Currently when I am doing a query, I don't get any results if the case does not match.

My mappings are:

And i added an analyzer:

When I do a query countryName='United States', I don't get anything, but if I do countryName='united states', I get the records that match

When I do countryName.raw='United States', I get records that match, but if it's lowercase I don't get anything.

For stateName, cityName and addressName, if I make a query like: stateName='New York' or change it to lowercase I do not get any results.

If I do for stateName.raw, cityName.raw and addressName.raw, it works like the countryName.raw

Can anyone help me with this?

0 投票
1 回答
324 浏览

elasticsearch - Elasticsearch - 如何从单词末尾删除 s

使用 Elasticsearch 2.2,作为一个简单的实验,我想从任何以小写字符“s”结尾的单词中删除最后一个字符。例如,单词“sounds”将被索引为“sound”。

我正在这样定义我的分析器:

然后,当我使用此请求分析术语“沉默之声”时:

我得到:

我期待“声音”是“声音”,“沉默”是“沉默”

0 投票
0 回答
264 浏览

elasticsearch - elasticsearch 索引 vs 类型策略

我是弹性搜索的新手,非常感谢您的帮助,

在我的公司中,我们有一个元数据存储库,
该存储库的结构是这样的:
我们有不同类型的实体组,可以说

大约 15 个组,总共大约 1500 个实体
每个实体名称是唯一的,并且没有重复
每个实体的基本数据(标志、文本描述等)
每个实体平均有大约 100 个字段。

当我说字段时,我不是指基本数据,我指的是实体中的一个逻辑字段,每个字段都包含布尔标志、文本描述等内容……
还有字段组(大约 5 个)

此外,存储库有版本,每个月都有一个新版本

,问题是,对这种结构进行建模以最适合弹性

搜索的最佳方法是什么? 弹性搜索中数据的使用将是按名称和按组搜索实体,检索所有实体的字段,按名称和组搜索字段,按名称和组搜索实体中的字段,
我想到了以下模型:

将有关于实体(不是它的字段)的数据,

例如:存储库的版本 1,来自 groupA 的 entity1

每个实体的字段如下

例如:实体 1 的版本 1,来自字段组 A 的字段 1

这是为存储库建模的好方法吗?,我觉得这样我创建了索引分配,也许我应该建模它以具有更多类型?更多索引而不是更多类型有什么好处?

正如你所看到的,因为我是弹性搜索的新手,我找不到学习材料的分配,我觉得有点无能为力 O:

感谢您的帮助:D

0 投票
3 回答
3885 浏览

elasticsearch - Elasticsearch - 使用“标签”索引来发现给定字符串中的所有标签

我有一个带有“标签”索引的 elasticsearch v2.x 集群,其中包含大约 5000 个标签:{tagName, tagID}. 给定一个字符串,是否可以查询标签索引以获取在该字符串中找到的所有标签?我不仅想要精确匹配,而且还希望能够控制模糊匹配而不会过于慷慨。过于慷慨,只有在标签中的所有标记都在彼此之间的某个接近范围内(比如 5 个单词)找到时,标签才应该匹配。

例如,给定字符串:

以下标签应匹配:

sound analyzer sound spectrum analyzer

但不是

sound meter light spectrum chemical analyzer

0 投票
1 回答
43 浏览

elasticsearch - 用于移动内存搜索的 Elastic Search(8gb、16gb 等)

我的弹性搜索数据库有一个产品索引有一个字段

我需要为以下示例字符串返回此字段:

我该如何为此编写自定义分析器?

我们是否应该使用 nGrams 进行此类搜索,因为这不是自动完成或每次按键搜索?

0 投票
2 回答
1378 浏览

ruby-on-rails - 在 Rails 中返回 elasticsearch 的特定字段

这似乎是一个非常简单的问题,但我从其他解决方案和网站尝试过的一切都不起作用。我有三个我不想索引或查询的字段-- 、和--但是即使我没有指定它们应该被索引或查询,elasticsearch 仍然从这些字段返回值:p_s。大约一半,这篇文章说要说索引,但他们没有指出这会发生在哪里。:gender:part_of_speechno

任期控制器:

模型:

0 投票
1 回答
85 浏览

elasticsearch - elasticsearch启动错误如何解决?

我在 centos6.X....(rpm) 中安装了 elasticsearch,但是 service elasticsearch start 命令出现错误

如何解决这个问题

我的 Java 版本 1.7.0 我的弹性搜索版本 2.3.3

在此处输入图像描述

0 投票
1 回答
73 浏览

elasticsearch - 将部分查询字符串与 elaticsearch 索引中的完整文档匹配

我需要搜索添加到弹性搜索索引中的小文本长度的文档,并且仅当搜索查询完全匹配我的任何文档文本时才希望获得搜索结果。例如,让这些是添加到索引中的两个文档。

1.) {名称:“alpha beta”}

2.){名称:“伽玛增量”}

如果查询字符串是 -

比第一个查询应该返回第一个文档,因为文档的所有标记都匹配。但是第二个查询不应返回任何文档,因为不存在所有标记都存在于查询字符串中的此类文档。

注意:仅当文档中的所有文本标记都存在于查询字符串中时,才应返回结果。

0 投票
0 回答
382 浏览

java - 弹性搜索 | 过滤查询

我正在使用elasticsearch-1.7.1并且 java 依赖项是

问题:我在 ES 中的子句中使用,但是当我使用过滤查询查询 ES 时,它给了我一个空响应。

没有过滤器,它工作正常。任何人都可以建议如何对查询应用过滤器,或者让我知道在提出请求时是否出错。

查询详情:

我还在我的索引上尝试了其他过滤器查询,但它们都不起作用。下面的查询必须返回一些结果,但它返回的是空结果。

映射:

非常感谢任何帮助。