您好我是Elasticsearch的新手,NGram Tokenizer和NGram Filter是否会增加Elasticseach中的索引大小?
使用
MIN_NGRAM AS 1
MAX_NGRAM AS 50
如何使用localhost检查索引大小和标记?
答案 0 :(得分:3)
是的,使用(边缘)ngram标记器或过滤器会增加索引大小 - 毕竟你要存储更多的标记。
作为一些附注,min_gram
设置为1可能允许您在第一次击键时执行自动完成操作,但除非您的数据集很小,否则您不可能向用户提供足够窄的结果集很有用。设置为2或3的min_gram
可以更好地平衡较大的数据集和性能。设置为50的max_gram
有类似的问题,但在另一个极端;用户不太可能输入那么多字符以自动完成任何内容,因此在这种情况下你不必要地索引ngrams。当然,这些评论特定于自动完成用例;我确信有许多可行的方案需要1个,50个用于min_gram
和max_gram
。
ES参考文档提供了有关状态API的一些详细信息 - 最好尝试并查看输出: http://www.elasticsearch.org/guide/reference/api/admin-indices-status/
确定ES如何标记您的输入: http://www.elasticsearch.org/guide/reference/api/admin-indices-analyze/