0

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

使用

MIN_NGRAM AS 1
MAX_NGRAM AS 50

以及如何使用 localhost 检查索引大小和令牌?

4

1 回答 1

3

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

作为一些旁注,min_gram设置为 1 可能允许您在第一次击键时执行自动完成操作,但除非您的数据集很小,否则您不太可能向用户提供足够窄的结果集以使其有用。min_gram设置为 2 或 3 可以更好地平衡更大的数据集和性能。max_gram设置为 50 有类似的问题,但处于另一个极端;用户不太可能输入那么多字符来自动完成任何内容,因此在这种情况下您会不必要地索引 ngram。当然,这些注释特定于自动完成用例;我敢肯定有很多可行的场景需要 1、50min_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/

于 2013-07-30T04:52:53.110 回答