-1

设置索引字段为 not_analyzed 再做通配符查询,会不会显得性能低下?......有什么问题导致它出现性能低下????

4

1 回答 1

1

是的。通配符查询效率不高。

倒排索引工作得很好,因为它里面有一个你想搜索的词条。但是,您的通配符查询并未按预期使用倒排索引。

例如,如果您搜索"foo*"它必须找到倒排索引中以 开头的所有术语"foo",然后搜索所有这些术语。这可能非常缓慢且占用大量内存。

如果您知道要进行通配符搜索,那么您应该相应地分析您的数据。使用 ngram 或 edge-ngram 分词器来分析您的字段,以便索引部分匹配。这将允许倒排索引按预期运行。

于 2013-03-27T11:13:32.530 回答