0
我想用中文頁面的Solr。它工作正常,但我找不到一些字符。Solr沒有找到所有中文符號
我用SmartChineseSentenceTokenizerFactory在我的schema.xml中是這樣的:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
<filter class="solr.SmartChineseWordTokenFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
<filter class="solr.SmartChineseWordTokenFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PositionFilterFactory" />
</analyzer>
</fieldType>
我已經試過CJKTokenizerFactory還,結果更慘。 在一個示例頁面我已經得到了以下的文字(從維基百科中國複印件)
就必須參加國中教育會考
它收錄在Solr的,我可以搜索所有標誌,除了教
這個字符表示類似於:教,教,教,宗教 - 所以這是一個正常的詞。
這只是一個不能找到單個字符的例子。
來自solr wiki(http://wiki.apache.org/solr/LanguageAnalysis#Chinese.2C_Japanese.2C_Korean)的說明:「請務必在查詢時使用PositionFilter(僅限於),因爲這些語言不使用空格在詞語之間「。你已經這樣做了嗎? –
我不是100%確定這個筆記的含義。我只在索引分析器和查詢分析器中使用了PositionFilterFactory。我已經刪除了索引分析器中的位置過濾器,但這沒有任何作用 –
這表示您應該在查詢分析器端有。不說它應該在索引方面。改變模式之後最好的選擇是對所有東西重新進行索引。 –