无法理解将 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/