问题标签 [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.
c# - 如何使用 ElasticSearch 5.x 的 NEST 流利映射指定索引/字段分析器?
ElasticSearch / NEST 相当新 - 我在包含英国邮政编码的映射上有一个属性(例如 DT5 2HW,BB1 9DR)。目前,我有以下代码: -
在创建流利的映射时,我试图找到指定分析器的正确位置(所以我可以实现这里正在做的事情),但是:-
- 在 6.0 中将调用
mp.AutoMap().Analyzer()
标记为已弃用/将被删除,并警告默认分析器将在类型级别删除,并且需要在索引或字段级别指定(旁注:按字段,它们是指属性吗?) Analyzer()
之后在 Intellisense 中不可用Keyword()
或Name()
是不是不可能通过流畅的映射来做到这一点?这是否意味着我必须通过 CreateIndex -> Settings -> Analysis 指定可用的分析器,然后指定要在具有 POCO 属性的属性级别上使用的分析器?
我觉得我在某个地方出现了根本性的错误 - 任何指针都将不胜感激!
elasticsearch - Elasticsearch 使用 ngram 自动完成
我是 Elasticsearch 的新手,我有一个关于使用 NGram 实现自动完成功能的问题。从互联网上,我了解到与使用内置完成建议器相比,NGram 实现允许灵活的解决方案,例如从中间匹配、突出显示等。
因此,我的一种索引类型具有以下字段映射:
nGram 分析器配置:
以下是我将用于字段的示例数据。
当我使用以下查询时,它将返回整个数组。因为我只需要少数
我尝试使用突出显示来提取单个术语,但突出显示的术语存在于搜索结果中的每个文档中。我尝试使用聚合,但未能编写将突出显示和聚合结合起来的查询。有可能这样做吗?
或者是否有更好的实现从 nGram 分析数组中搜索?还是应该将所有这些关键字索引为不同的类型?
谢谢!
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和请求正文来分析器
但这显示
我错过了什么吗?或者我以错误的方式得到这个?
如果问得太基本,请忽略。
elasticsearch - 如何在弹性搜索中使用停用词分析器
我是新手elasticsearch
,习惯于logstash-jdbc-input
将数据从 mysql 加载到 elasticsearch 服务器。这是logstash配置
将数据库中的所有数据放入elasticsearch服务器后。我通过关闭索引更新了分析器设置,然后使用PUT更新了分析器
/news/_open
使用POST请求再次打开索引后,我仍然可以使用 the,of,was 等停用词进行搜索。
问题是什么?难道我做错了什么?
search - 在 Azure 搜索中创建支持双方的 EdgeNGram 分析器
在为 Azure 搜索定义自定义分析器时,可以选择从此列表中定义令牌筛选器。我正在尝试支持搜索前缀和中缀。例如:如果一个字段包含名称:123 456,我希望可搜索的词包含:
当使用似乎可以解决问题的 EdgeNGramTokenFilterV2 时,可以选择定义“side”属性,但仅支持“front”和“back”,而不是两者。“front”(默认)值生成此列表:
并返回生成:
我尝试使用两个标记两个 EdgeNGramTokenFilterV2s,但这会通过组合两个过滤器创建术语,例如:“2”或“5”:
我也尝试使用“反转”令牌,但这会反转一切,结果仍然是错误的。
我只使用一个搜索字段(“名称”)并且希望它保持这种状态。(想到了在不同的分析器中使用名为“name_reverse”的不同字段的选项,但这非常低效,并且在将搜索引擎连接到数据源时会引起很多麻烦。
为了便于参考,这是当前的索引创建请求:
有没有将两者结合起来的选择,而不是让他们争夺结果?
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 的自定义或内置分析器用数字标记所有单词?
elasticsearch - 在弹性搜索中使用内置或自定义分析器搜索数字和文本
这个问题是我之前的这个SO 问题的延续。我有一些文本,我想对数字和文本进行搜索。
我的文字:-
8080.foobar.getFooLabelFrombar(test.java:91)
我想在getFooLabelFrombar
、fooBar
和8080
上搜索91
。
早些时候我使用了simple
分析器,它将上面的文本标记为下面的标记。
其中,搜索foobar
并getFooLabelFrombar
给出搜索结果但不是8080
和91
,因为简单的分析器不会标记数字。
然后按照上一个建议。SO post,我将分析器更改为Standard
,因为这些数字是可搜索的,但不能搜索其他 2 个单词的搜索字符串。由于标准分析器将创建以下标记:-
我去了 ES 中所有现有的分析器,但似乎没有什么能满足我的要求。我尝试创建下面的自定义分析器,但效果不佳。
请建议,如何构建我的自定义分析器以满足我的要求。
elasticsearch - 测试弹性搜索自定义分析器 - 管道分隔的关键字
我有这个索引pipe
作为自定义分析器。当我尝试测试它时,它会返回每个字符,而不是管道分隔的单词。
我正在尝试为我的输入行keywords
看起来像这样的用例构建:crockpot refried beans|corningware replacement|crockpot lids|recipe refried beans
EL 将在它被分解后返回匹配项。
当我尝试按照本指南对其进行测试时。
我逐个返回结果。
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
python - 部分搜索返回零命中
我已经设法使用elasticsearch(V6.1.3)进行精确搜索。但是当我试图做部分或忽略大小写(例如:{"query": {"match": {"demodata": "Hello"}}}
或{"query": {"match": {"demodata": "ell"}}}
)时,得到零命中。不知道为什么?我根据以下提示设置了我的分析器:
部分搜索
根据Piotr Pradzynski输入更新了代码,但它不起作用!!!