2015-06-02 66 views
1

Solr的docs說:ReversedWildcardFilterFactory如何加速通配符搜索?

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

https://docs.lucidworks.com/display/lweug/Wildcard+Queries

的清醒查詢解析器將檢測當使用導致通配符和 調用反轉過濾器,如果存在於索引分析器,以 扭轉通配符術語,這樣它會產生正確的查詢 的術語將匹配存儲在該字段的索引 中的反轉項。

+0

所以它只存儲反轉的術語? –

+0

它在索引中存儲原始和反向術語 – molholm