问题标签 [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.
elasticsearch - 标记器是否适用于 Elasticsearch 中的索引或查询或两者?
我正在看tokenizer
Elasticsearch 6.8。我知道它定义了我们在构建索引时如何将文本标记为单词。例如,它将转换为“Quick brown fox!” 文本成术语[Quick, brown, fox!]
。如果我在 Elasticsearch 中有一个包含 text 的字段"Quick brown fox!"
,它将在索引中分成三个单词。但是,如果我发送一个查询文本"Quick brown fox!"
,tokenizer
该查询参数也适用吗?
elasticsearch - ElasticSearch - 带有过滤器的自定义分析器 - 未应用过滤器
我有以下查询:
这导致:
我的索引配置如下所示:
如您所见,带有过滤器的默认分析器无效,“Limousinetesting”这个词没有收到它的“limousine”同义词。
分析仪应该如何看起来过滤器有效?即使是最简单的过滤器,在这种情况下也不会出现小写。
elasticsearch - 弹性搜索全文搜索
我将两个 PDF 文档的内容保存在 Elastic Search 中。方向是_source.attachment.content,我想做一个全文搜索。
现在,我的 Elastic Search 2 中有两个不同的 PDF,其中包含以下单词:“Overview”,而其他 PDF 则不包含此单词。
我像这样搜索它:
结果,我得到了两个文档之一,以及许多其他文档中没有子字符串“over”。如果我键入“overv”,则不会返回包含此子字符串的文档作为结果。如果我键入“概述”,那么我只会找到我想要的两个文档。
有什么我可以做得更好的吗?
先感谢您
编辑:命中看起来像:
这是映射:
elasticsearch - ElasticSearch starts with query for autocomplete feature
I want to build an autocomplete feature using ElasticSearch and C#. But I am not getting the desired result. For demo purpose this is what I have done.
1) Created index called "names":
2) Added 20 entries using POST command:
3) List of Names:
4) When I run a prefix query:
I expect to get back "Smith John", "Smitha John"
... But I am getting back "John Smith", "John Smitha"
...
What am I doing wrong? What do I need to change and where?
amazon-web-services - 弹性搜索语音分析器返回零结果?
我使用 ES 语音分析器得到 0 个结果。
使用 AWS 中的内置插件 - https://aws.amazon.com/about-aws/whats-new/2016/12/amazon-elasticsearch-service-now-supports-phonetic-analysis/。
在索引之前,我使用此代码来设置语音分析器。
注意:我没有专门下载它,因为 AWS 已经预先构建了它(检查上面的链接)。现在,我正在使用此代码对端点进行查询 -
但我得到的结果为零。我得到以下输出:
我可以确认,当不使用分析仪时,我得到了回击。
当我使用此代码时,它会返回正常输出。
回复
索引映射
elasticsearch - Elasticsearch 查询以查找字符串字段的完全匹配(无需分析)
我们将类别存储在索引中,这是类别的映射
现在,我们想对该字段进行精确搜索,这是我们正在尝试的查询
但它不完全匹配,我不想更改映射,因为我们也想在其他一些用例中进行部分搜索。
我只想对查询中的一些修改进行完全匹配,是否有可能或有任何解决方法?
谢谢您的帮助。
elasticsearch - 如何在 Elasticsearch 中为精确搜索提供比语音搜索更高的分数?
我目前正在使用 Elasticsearch 的语音分析器。我希望查询给完全匹配的分数比拼音匹配的分数更高。这是我正在使用的查询:
当我搜索 时Abhijeet
,最热门的查询是Abhijit
并且只是稍后才会Abhijeet
出现。我希望始终首先出现精确匹配,然后是语音匹配。这可以做到吗?
编辑:
映射
这是我用来设置语音分析器的代码:
现在,我只想查询title
andcontent
字段。在这里,我希望首先出现精确匹配,然后是语音匹配。
elasticsearch - 如何过滤弹性搜索中的以下查询?
我正在使用以下搜索:
我现在想使用_id
在索引期间提供的 id () 弹性搜索过滤结果。例如,{ "_id" : 5903
}。我想你必须使用术语查询。结果应该是只有当_id
匹配时,文档才会返回。我怎样才能做到这一点?
elasticsearch - 如何在 ElasticSearch 中标记罗马数字术语?
通过如下注册标记字符创建标记器时,无法注册罗马“X”。(测试 ES 版本:ES6.7,ES5.6)
错误日志是这样的
{"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[node02][192.168.115.x:9300][indices:admin/create]"}],"type ":"illegal_argument_exception","reason":"未知 标记类型:'ⅹ',必须是 [symbol、private_use、paragraph_separator、start_punctuation、未分配、enclosure_mark、connector_punctuation、letter_number、other_number、math_symbol、lowercase_letter、space_separator、surrogate、 initial_quote_punctuation、decimal_digit_number、digit、other_punctuation、dash_punctuation、currency_symbol、non_spacing_mark、格式、modifier_letter、控制、uppercase_letter、other_symbol、end_punctuation、modifier_symbol、other_letter、line_separator、titlecase_letter、字母、标点符号,combining_spacing_mark,final_quote_punctuation,空格]"},"status":400}
如何将罗马数字标记为术语?
elasticsearch - 如何使用 ML/NLP 改进 Elasticsearch 查询?
我目前在 Elasticsearch 搜索中使用相当标准的查询。我正在使用的唯一附加功能是变音分析器。我想知道是否有任何用于弹性搜索的内置 NLP 或 ML 插件。我有点超出我的深度,但如果有人能指出我的一些资源,那将有很大的帮助!