问题标签 [elasticsearch-analyzers]

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 投票
1 回答
2810 浏览

c# - 如何使用 ElasticSearch 5.x 的 NEST 流利映射指定索引/字段分析器?

ElasticSearch / NEST 相当新 - 我在包含英国邮政编码的映射上有一个属性(例如 DT5 2HW,BB1 9DR)。目前,我有以下代码: -

在创建流利的映射时,我试图找到指定分析器的正确位置(所以我可以实现这里正在做的事情),但是:-

  • 在 6.0 中将调用mp.AutoMap().Analyzer()标记为已弃用/将被删除,并警告默认分析器将在类型级别删除,并且需要在索引或字段级别指定(旁注:按字段,它们是指属性吗?)
  • Analyzer()之后在 Intellisense 中不可用Keyword()Name()

是不是不可能通过流畅的映射来做到这一点?这是否意味着我必须通过 CreateIndex -> Settings -> Analysis 指定可用的分析器,然后指定要在具有 POCO 属性的属性级别上使用的分析器?

我觉得我在某个地方出现了根本性的错误 - 任何指针都将不胜感激!

0 投票
1 回答
701 浏览

elasticsearch - Elasticsearch 使用 ngram 自动完成

我是 Elasticsearch 的新手,我有一个关于使用 NGram 实现自动完成功能的问题。从互联网上,我了解到与使用内置完成建议器相比,NGram 实现允许灵活的解决方案,例如从中间匹配、突出显示等。

因此,我的一种索引类型具有以下字段映射:

nGram 分析器配置:

以下是我将用于字段的示例数据。

当我使用以下查询时,它将返回整个数组。因为我只需要少数

我尝试使用突出显示来提取单个术语,但突出显示的术语存在于搜索结果中的每个文档中。我尝试使用聚合,但未能编写将突出显示和聚合结合起来的查询。有可能这样做吗?

或者是否有更好的实现从 nGram 分析数组中搜索?还是应该将所有这些关键字索引为不同的类型?

谢谢!

0 投票
1 回答
3199 浏览

elasticsearch - 未找到 uri [/news] 和方法 [POST] 的处理程序

我刚刚开始使用elastic search 5.5.2. 我正在使用logstash-jdbc-input插件将数据从mysql数据库推送到elastic search. 这是我正在使用的logstash配置

现在我可以使用http://localhost:9200/news/_search和以下正文进行搜索

现在这是搜索甚至我不想要的停用词,所以我尝试使用这个 POST 请求http://localhost:9200/news和请求正文来分析器

但这显示

我错过了什么吗?或者我以错误的方式得到这个?

如果问得太基本,请忽略。

0 投票
1 回答
38 浏览

elasticsearch - 如何在弹性搜索中使用停用词分析器

我是新手elasticsearch,习惯于logstash-jdbc-input将数据从 mysql 加载到 elasticsearch 服务器。这是logstash配置

将数据库中的所有数据放入elasticsearch服务器后。我通过关闭索引更新了分析器设置,然后使用PUT更新了分析器

/news/_open 使用POST请求再次打开索引后,我仍然可以使用 the,of,was 等停用词进行搜索。

问题是什么?难道我做错了什么?

0 投票
1 回答
623 浏览

search - 在 Azure 搜索中创建支持双方的 EdgeNGram 分析器

在为 Azure 搜索定义自定义分析器时,可以选择从此列表中定义令牌筛选。我正在尝试支持搜索前缀和中缀。例如:如果一个字段包含名称:123 456,我希望可搜索的词包含:

当使用似乎可以解决问题的 EdgeNGramTokenFilterV2 时,可以选择定义“side”属性,但仅支持“front”和“back”,而不是两者。“front”(默认)值生成此列表:

并返回生成:

我尝试使用两个标记两个 EdgeNGramTokenFilterV2s,但这会通过组合两个过滤器创建术语,例如:“2”或“5”:

我也尝试使用“反转”令牌,但这会反转一切,结果仍然是错误的。

我只使用一个搜索字段(“名称”)并且希望它保持这种状态。(想到了在不同的分析器中使用名为“name_reverse”的不同字段的选项,但这非常低效,并且在将搜索引擎连接到数据源时会引起很多麻烦。

为了便于参考,这是当前的索引创建请求:

有没有将两者结合起来的选择,而不是让他们争夺结果?

0 投票
1 回答
396 浏览

elasticsearch - ES 分析器,它也标记数字、数字

我正在使用 Elasticsearch 内置的简单分析器https://www.elastic.co/guide/en/elasticsearch/reference/1.7/analysis-simple-analyzer.html,它使用小写分词器。并且文本apple 8 IS Awesome以以下格式标记。

您可以清楚地看到,它错过了对数字进行标记8,因此现在如果我只使用 搜索8,我的消息将不会出现在搜索中。

我浏览了 ES 提供的所有可用分析器,但找不到任何符合我要求的合适分析器。

如何使用 ES 的自定义或内置分析器用数字标记所有单词?

0 投票
1 回答
549 浏览

elasticsearch - 在弹性搜索中使用内置或自定义分析器搜索数字和文本

这个问题是我之前的这个SO 问题的延续。我有一些文本,我想对数字和文本进行搜索。

我的文字:-

8080.foobar.getFooLabelFrombar(test.java:91)

我想在getFooLabelFrombarfooBar8080上搜索91

早些时候我使用了simple分析器,它将上面的文本标记为下面的标记。

其中,搜索foobargetFooLabelFrombar给出搜索结果但不是808091,因为简单的分析器不会标记数字

然后按照上一个建议。SO post,我将分析器更改为Standard,因为这些数字是可搜索的,但不能搜索其他 2 个单词的搜索字符串。由于标准分析器将创建以下标记:-

我去了 ES 中所有现有的分析器,但似乎没有什么能满足我的要求。我尝试创建下面的自定义分析器,但效果不佳。

请建议,如何构建我的自定义分析器以满足我的要求。

0 投票
1 回答
329 浏览

elasticsearch - 测试弹性搜索自定义分析器 - 管道分隔的关键字

我有这个索引pipe作为自定义分析器。当我尝试测试它时,它会返回每个字符,而不是管道分隔的单词。

我正在尝试为我的输入行keywords看起来像这样的用例构建:crockpot refried beans|corningware replacement|crockpot lids|recipe refried beansEL 将在它被分解后返回匹配项。

当我尝试按照本指南对其进行测试时。

我逐个返回结果。

0 投票
2 回答
3950 浏览

elasticsearch - Elasticsearch : Completion suggester not working with whitespace Analyzer

I am new to Elastic search and I am trying to create one demo of Completion suggester with whitespace Analyzer.

As per the documentation of Whitespace Analyzer, It breaks text into terms whenever it encounters a whitespace character. So my question is do it works with Completion suggester too?

So for my completion suggester prefix : "ela", I am expecting output as "Hello elastic search."

I know an easy solution for this is to add multi-field input as :

However, if this is the solution then what is meaning of using analyzer? Does analyzer make sense in completion suggester?

My mapping :

My document :

Search request :

This search is not returning me the correct output, but if I use prefix = 'hel' I am getting correct output : "Hello elastic search."

In brief I would like to know is whitespace Analyzer works with completion suggester? and if there is a way, can you please suggest me.

PS: I have already look for this links but I didn't find useful answer.

ElasticSearch completion suggester Standard Analyzer not working

What Elasticsearch Analyzer to use for this completion suggester?

I find this link useful Word-oriented completion suggester (ElasticSearch 5.x). However they have not use completion suggester.

Thanks in advance.

Jimmy

0 投票
2 回答
175 浏览

python - 部分搜索返回零命中

我已经设法使用elasticsearch(V6.1.3)进行精确搜索。但是当我试图做部分或忽略大小写(例如:{"query": {"match": {"demodata": "Hello"}}}{"query": {"match": {"demodata": "ell"}}})时,得到零命中。不知道为什么?我根据以下提示设置了我的分析器: 部分搜索

根据Piotr Pradzynski输入更新了代码,但它不起作用!!!