2011-05-22 80 views
2

我目前正在測試我的Solr架構中的文本字段上的方面搜索,並注意到我得到的stopwords.txt文件中有大量的結果。solr停用詞顯示在方面搜索結果

我的模式當前正在使用文本數據類型的默認配置,並且我的印象是,如果「solr.StopFilterFactory」過濾器正在使用中,停用詞不會被索引。

我希望有人能夠闡明這一點,或者a)幫助我理解停用詞爲什麼不適用於方面以及如何適應它,或者b)指向正確的方向,這樣我的方面查詢不要從停用詞中返回單詞。

謝謝!

+1

你不應該在小切分領域 – 2011-05-22 21:54:33

+0

嗨,我有同樣的問題/情形。我的「關鍵字」被部分合併爲一個字段 - 例如「car/dog/red/be/at」下一個字段:「藍/綠/黃」等。因此,我必須使用tokenizner將字符串製成字詞:< tokenizer class =「solr.PatternTokenizerFactory」pattern =「/」/>。此外,我使用停用詞列表來刪除停用詞(如:at,be,...)但停用詞也被索引並存儲,將在facetet搜索中返回...使用Sol 1.3有沒有解決方法? – 2011-06-15 11:42:18

回答

1

停用詞適用於方面。換句話說:如果您要求使用停用詞索引的字段的方面,則不應在該方面看到任何停用詞。

我的猜測是,你不是索引你的想法:無論是你的schema.xml是錯誤的,或者你是在一個不同的領域索引比你想象的。

我使用這個場面和效果很好:

<fieldType name="text_ws_stop" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer> 
<tokenizer class="solr.WhitespaceTokenizerFactory"/> 
      <filter class="solr.StopFilterFactory" 
    ignoreCase="true" 
      words="stopwords_spanish.txt" 
      enablePositionIncrements="true" 
    /> 
    </analyzer> 
</fieldType> 

... 

<field name="phrases" type="text_ws_stop" indexed="true" stored="true" required="false"/> 
+0

我的文本字段類型使用默認solr 3.1模式附帶的相同(未修改)聲明。 Mauricio(上文)提到,標記字段可能會導致與停用詞和方面有關的問題。默認的文本字段類型有一個空白標記器。對這是否會導致問題有任何想法? – 2011-05-24 03:27:14

+0

我正在使用停用詞標記字段,併爲我工作......我將schema.xml部分添加到了我的答案中 – 2011-05-27 20:04:24