将索引字段设置为not_analyzed,然后执行通配符查询,是否显示低性能? ......是否有任何问题导致它出现低性能????
答案 0 :(得分:1)
是。通配符查询效率不高。
反向索引非常有效,因为对于您要搜索的每个术语,都有一个条目。但是,您的通配符查询未按预期使用反向索引。
例如,如果您在"foo*"
上搜索,则必须找到以"foo"
开头的倒排索引中的所有字词,然后搜索所有字词。这可能非常缓慢且占用大量内存。
如果您知道要进行通配符搜索,则应相应地分析数据。使用ngram或edge-ngram标记生成器分析您的字段,以便索引部分匹配。这将允许反向索引按预期运行。