elasticsearch - Search-as-you-type 数据类型和 Edge NGram Tokenizer 之间有什么区别?

标签 elasticsearch elasticsearch-mapping

无法理解将 Search-as-you-type 数据类型设置为字段、在分析器中设置 Edge NGram Tokenizer 以及添加 index_prefixes 参数之间的区别。在我看来,他们毕竟做同样的工作。

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-as-you-type.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-edgengram-tokenizer.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/index-prefixes.html

最佳答案

edge_ngram 是一个分词器,这意味着它在索引时间开始对您的输入数据进行分词。还有一个 edge_ngram token 过滤器。两者很相似,但在不同的层次上工作。
search_as_you_type 是一种字段类型,它包含一些子字段,其中一个称为 _index_prefix 并利用 edge_ngram 标记器。
所以基本上,当他们决定添加新的 search_as_you_type 字段类型时,你在 edge_ngram 标记器文档中看到的内容实际上已经被利用了。

关于elasticsearch - Search-as-you-type 数据类型和 Edge NGram Tokenizer 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57838676/

相关文章:

bash - 如何创建多行 curl 字符串,变量包含在单引号和双引号中?

elasticsearch - 如何更改现有索引中某一字段的映射? Elasticsearch

elasticsearch - 我无法在没有属性的Elasticsearch中进行查询。<字段名称>

amazon-web-services - 试图将字段 [null] 解析为对象的 Elasticsearch 对象映射,但找到了具体值

elasticsearch - Elasticsearch 2.x排序,缺失值视为0.0

elasticsearch - 如何防止某些字段在Elasticsearch中建立索引

elasticsearch - Elastica映射include_type_name

elasticsearch - 每次运行Logstash时,Elasticsearch是否对我的Oracle表执行全表扫描?

elasticsearch - WSO2 log4j 和 Elasticsearch : all carbon apps freeze

ruby - 从多个 ruby block 组成轮胎查询