我想索引一些包含特殊字符的單詞。例如,給定'm & m',我想暫時將其編入索引,而不是將其作爲m和m(通常&將被視爲分隔符)進行定界。有沒有辦法通過使用標準的標記器/過濾器來實現這一點,還是我必須自己寫一個?如何索引Solr中包含特殊字符的單詞
1
A
回答
3
基本上文本字段類型在索引之前過濾出特殊字符。您可以使用字符串類型,但不建議在其上進行搜索。您可以使用WordDelimiterFilterFactory的類型選項,你可以將這些特殊字符,英文字母
%=>%的 & =>和
2
A標準分詞器工廠拆分/標記化的特殊字符給定的文本。要使用特殊字符的索引,你既可以編寫自己的定製標記生成器,或者你可以做到以下幾點:
- 以字符,在您要來標記的列表/分割 文本。例如,我的清單是
{" ",";"}
。 使用與 上面的字符列表,而不是StandardTokenizer。你 配置將是這樣的:
<analyzer> <tokenizer class="solr.PatternTokenizerFactory" pattern=" |;" /> </analyzer>
+0
嗨@Mavellin,我們有相同的要求,並應用'Solr.PatternTokinerFactory'作爲解決方案,但它會導致一些奇怪的問題。請看一看。 http://stackoverflow.com/questions/16105450/solr-fuzzy-search-issue-with-patterntokenizer-factory – meghana 2013-04-22 10:14:23
1
可以使用WhiteSpaceTokenizerFactory。
http://docs.lucidworks.com/display/solr/Tokenizers#Tokenizers-WhiteSpaceTokenizer
它將在空格只記號化。例如,
「米&米」將被認爲是一個單一的標記,所以它會索引那樣
相關問題
- 1. 如何檢索包含特殊字符的句子中的單詞?
- 2. Solr特殊字符未索引
- 3. 索引產品代碼包含特殊字符(%)時Solr搜索結果錯誤
- 4. 的Python:搜索包含特殊字符
- 5. 找到包含在單引號(字符,數字,特殊字符)
- 6. 僅匹配包含特殊字符的整個單詞
- 7. 上下文索引中包含特殊字符
- 8. 如何做solr搜索包括像( - ,&..等特殊字符?)?
- 9. 如何呼應包含特殊字符
- 10. 如何搜索包含空格的Solr單詞中的「Apache Lucene」?
- 11. 在MS Access中搜索包含特殊字符的字符串
- 12. JSON包含特殊字符
- 13. 包含特殊字符
- 14. 如何檢索sql列包含特殊字符和字母
- 15. 如何包含在查詢字符串中的特殊字符
- 16. 特殊字符索引
- 17. Lucene索引特殊字符
- 18. 如何在RegEx中刪除包含特定字符的單詞?
- 19. 如何在具有特殊字符的solr中搜索
- 20. 如何搜索ArrayList中包含多個單詞的字符串?
- 21. Preapre字符串包含特殊字符
- 22. MySQL查詢包含特殊字符單引號
- 23. 發佈包含特殊字符在單引號
- 24. Haskell計算包含字符串中特定字符的單詞
- 25. 在包含特殊字符(如<
- 26. 如果包含特殊字符?
- 27. 如何刪除單個單詞/變量中的特殊字符
- 28. .htaccess中:包含特殊字符
- 29. 在android preferences.xml中包含特殊字符
- 30. 擺脫文本文件中包含特殊字符的所有單詞
'%=> percent'是一個無效的規則。這裏的例子是正確的:https://issues.apache.org/jira/browse/SOLR-2059 – zengr 2013-08-27 22:20:36