使用Ngram Tokenizer和Ngram Filters会增加ElasticSearch中的索引大小吗?

时间:2013-07-29 15:13:15

标签: elasticsearch

您好我是Elasticsearch的新手,NGram Tokenizer和NGram Filter是否会增加Elasticseach中的索引大小?

使用

MIN_NGRAM AS 1
MAX_NGRAM AS 50

如何使用localhost检查索引大小和标记?

1 个答案:

答案 0 :(得分:3)

是的,使用(边缘)ngram标记器或过滤器会增加索引大小 - 毕竟你要存储更多的标记。

作为一些附注,min_gram设置为1可能允许您在第一次击键时执行自动完成操作,但除非您的数据集很小,否则您不可能向用户提供足够窄的结果集很有用。设置为2或3的min_gram可以更好地平衡较大的数据集和性能。设置为50的max_gram有类似的问题,但在另一个极端;用户不太可能输入那么多字符以自动完成任何内容,因此在这种情况下你不必要地索引ngrams。当然,这些评论特定于自动完成用例;我确信有许多可行的方案需要1个,50个用于min_grammax_gram

ES参考文档提供了有关状态API的一些详细信息 - 最好尝试并查看输出: http://www.elasticsearch.org/guide/reference/api/admin-indices-status/

确定ES如何标记您的输入: http://www.elasticsearch.org/guide/reference/api/admin-indices-analyze/