Solr docs说:
solr.ReversedWildcardFilterFactory
一个过滤器,可以反转令牌以提供更快的前导通配符和 前缀查询。将此过滤器添加到索引分析器,但不是 查询分析器。标准的Solr查询解析器将 使用它来反转通配符和前缀查询以改进 性能...
虽然如何做到这一点?
由于所有令牌都通过ReversedWildcardFilterFactory运行,它是否反过来存储所有令牌? (这对我来说似乎很愚蠢)
或者,它是否通常存储所有标记和反转的标记,然后在查询时大约两倍地运行索引列表? (据推测,这仍然比使用领先*的搜索快得多)
我感到困惑的部分原因是,在Solr的示例schema.xml
中,他们执行以下操作:
<copyField source="*_en" dest="text_en_index"/>
<copyField source="*_en" dest="text_rev_index"/>
其中text_rev_index
使用ReversedWildcardFilterFactory
。如果ReversedWildcardFilterFactory
存储了正向和反向令牌,我不确定为什么他们会将这些字段复制到正向和反向dest
字段。
答案 0 :(得分:0)
来自https://docs.lucidworks.com/display/lweug/Wildcard+Queries:
Lucid查询解析器将检测何时使用前导通配符 调用反转过滤器(如果存在于索引分析器中) 反转通配符,以便生成正确的查询 与将存储在索引中的反转术语匹配的术语 对于这个领域。