嗨,我是 Elasticsearch 的新手,NGram Tokenizer 和 NGram Filter 会增加 Elasticseach 中的索引大小吗?
使用
MIN_NGRAM AS 1
MAX_NGRAM AS 50
以及如何使用 localhost 检查索引大小和令牌?
嗨,我是 Elasticsearch 的新手,NGram Tokenizer 和 NGram Filter 会增加 Elasticseach 中的索引大小吗?
使用
MIN_NGRAM AS 1
MAX_NGRAM AS 50
以及如何使用 localhost 检查索引大小和令牌?
是的,使用(边缘)ngram 标记器或过滤器会增加索引大小 - 毕竟,您正在存储更多标记。
作为一些旁注,min_gram
设置为 1 可能允许您在第一次击键时执行自动完成操作,但除非您的数据集很小,否则您不太可能向用户提供足够窄的结果集以使其有用。min_gram
设置为 2 或 3 可以更好地平衡更大的数据集和性能。max_gram
设置为 50 有类似的问题,但处于另一个极端;用户不太可能输入那么多字符来自动完成任何内容,因此在这种情况下您会不必要地索引 ngram。当然,这些注释特定于自动完成用例;我敢肯定有很多可行的场景需要 1、50min_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/