簡體   English   中英

Apache Solr Wildchard搜索不起作用

[英]Apache Solr wildchard search not working

我在6.6.0版中使用Solr,在6.6.0版中使用Lucene。

我想創建一個搜索框,當我在查詢中鍵入內容時,它會顯示匹配的建議。

這是我的方法:

模式(我只有一個managed-schema文件):

<copyField source="someField_a" dest="someField_a_wildcard"/>

<field name="someField_at_wildcard" type="wildcard_type" indexed="true" stored="true" />

<fieldType name="wildcard_type" class="solr.TextField">
    <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    </analyzer>
</fieldType>

someField_a是一個dynamic field

<dynamicField name="*_a" type="text_general" indexed="true" stored="true"/>

當我在輸入字段中鍵入內容時,會得到結果,但不會得到想要的結果:

假設someField_a為“ ABC DE FG.pdf”

鍵入“ ABC”時會得到結果,但是隨着過程的進行,結果變得一團糟,我沒有得到想要的文件。

如何正確配置?

刪除whitespace標記器。 我假設您正在查找文件名? 在這種情況下,不需要標記化。

當您將EdgeNGram過濾器與whitespace令牌生成器結合使用時, EdgeNGram過濾器將開始為每個令牌創建ngram。

如果文件名是Windows文件,則可能要使用solr.LowerCaseTokenizerFactory進行不區分大小寫的文件名搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM