无法理解将按类型搜索的数据类型设置为字段,在分析器中设置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
答案 0 :(得分:1)
edge_ngram是一个令牌生成器,这意味着它会在索引编制时启动以令牌化您的输入数据。还有一个edge_ngram令牌过滤器。两者是相似的,但是在不同的级别上起作用。
search_as_you_type是一种字段类型,其中包含一些子字段,其中一个称为_index_prefix,并利用edge_ngram令牌生成器。
因此,基本上,在他们决定添加新的search_as_you_type字段类型时,实际上已经利用了edge_ngram标记化工具文档中看到的内容。
答案 1 :(得分:0)
Rafiqul 是正确的,search_as_you_go 是使用 edge_ngram 构建的,但它也包含了带状疱疹的概念。带状疱疹是词组,它允许 search_as_you_go 更好地处理多词查询。
请注意,search_as_you_go 要求单词按输入的顺序排列,这对于电影标题等已知实体尤其理想,而不是自由格式文档。