我的停用詞不按預期工作。 這裏是我的架構的一部分:Solr無用詞魔術
<fieldType name="text_general" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType class="solr.TextField" name="text_auto">
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="false"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true" outputUnigramsIfNoShingles="false"/>
</analyzer>
<analyzer type="query">
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="false"/>
</analyzer>
</fieldType>
<field name="deal_title_terms" type="text_auto" indexed="true" stored="false" required="false" multiValued="true"/>
<field name="deal_description" type="text_general" indexed="true" stored="true" required="false" multiValued="false"/>
在stopWords.txt中,我接下來的話:在,是一個;
我也有我的領域下一個數據:
deal_description - 這是我的描述
deal_title_terms - 這是處理標題條款(將在條款分裂)
當我嘗試搜索deal_description :
例1:「deal_description:他是第m」 - 我希望這份文件與deal_description「這是我的描述」將返回
例2:「deal_description:是個」 - 我希望不hing會被發現,因爲「is」和「the」是停用詞。
當我嘗試搜索deal_title_terms:
例1:「deal_title_terms:爲」 - 我想,沒有什麼會被發現,因爲「是」是停用詞。
示例2:「deal_title_terms:是交易」 - 我預計「is」和「the」將被忽略,術語「deal」將被找到。
示例3:「deal_title_terms:標題條款」 - 我預計「a」將被忽略,術語「標題詞」將被找到。
問題1:爲什麼停用詞不適用於「deal_description」字段?
問題2:爲什麼現場「deal_title_terms」禁用詞對我的查詢不會被刪除(當我試圖找到標題條款它不會找到「稱號條款」一詞)
問題3:有什麼辦法在搜索結果中顯示停用詞,但阻止他們搜索?例如:
數據:這是很酷的搜索引擎
搜索查詢: 「爲COO」 - >回報 「這是酷搜索引擎」
搜索查詢: 「是」 - >返回任何
搜索查詢:「這科爾」 - >回報「這是酷搜索引擎」
問題4:在哪裏可以找到詳細的描述(可能與示例)禁用詞是如何工作的solr?因爲它看起來很神奇。
要觀察您的查詢會發生什麼,可以使用solr管理頁面:http:// yourWebsite:8983/solr /#/ yourCore/analysis。把你的查詢和clic分析值。 – alexf 2015-04-01 07:28:52
我正在使用這個工具。使用這個工具,我發現查詢分析器從我的查詢中刪除了停用詞,但是我仍然能夠找到「the」,「is」等等。如果我的停用詞僅用於查詢分析器。 – 2015-04-01 07:37:28
你用來查詢的字段是什麼? – alexf 2015-04-01 07:46:40