|
|
1
13
请尝试以下查询:
|
|
|
2
1
是的,这是可以做到的。但是,前导通配符可能会导致查询速度变慢。检查 documentation . 此外,如果将整个字符串(例如“Dayton,Ohio”)作为单个标记进行索引,则大多数查询将退化为前导前缀查询。使用像StandardAnalyzer这样的标记器(我想您已经在这么做了)将减少对前导通配符的要求。 如果出于性能原因不需要前导前缀,可以尝试索引NGRAM。这样,就不会有任何前导通配符查询。ngram(假设长度仅为4)标记器将为“Dayton Ohio”创建标记,如“dayt”、“ayto”、“yton”等。 |
|
|
3
0
更重要的是,首先要用部分单词填充索引。您的分析器需要在分析时将部分关键字放入索引中(希望权重低于完整关键字)。 lucene索引查找树从左到右运行。如果你想在关键词的中间搜索,你在分析的时候已经把它分解了。问题是,部分关键字通常会爆炸索引大小。
|