我想索引一些包含特殊字符的单词。例如,给定'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. Solr特殊字符未索引
- 2. 索引产品代码包含特殊字符(%)时Solr搜索结果错误
- 3. 的Python:搜索包含特殊字符
- 4. 仅匹配包含特殊字符的整个单词
- 5. 如何做solr搜索包括像( - ,&..等特殊字符?)?
- 6. 上下文索引中包含特殊字符
- 7. 如何呼应包含特殊字符
- 8. 如何搜索包含空格的Solr单词中的“Apache Lucene”?
- 9. 在MS Access中搜索包含特殊字符的字符串
- 10. 包含特殊字符
- 11. JSON包含特殊字符
- 12. 如何包含在查询字符串中的特殊字符
- 13. 特殊字符索引
- 14. 如何搜索ArrayList中包含多个单词的字符串?
- 15. Preapre字符串包含特殊字符
- 16. 发布包含特殊字符在单引号
- 17. Haskell计算包含字符串中特定字符的单词
- 18. 如何删除单个单词/变量中的特殊字符
- 19. .htaccess中:包含特殊字符
- 20. 如何解析包含特殊字符的JSON字符串?
- 21. MYSQL搜索一个字符串是否包含特殊字符?
- 22. 搜索字符串包含特殊字符
- 23. 不包含特殊字符的字符串中的字符数
- 24. JSON.parse字符串中包含特殊字符的意外字符?
- 25. 在包含多个由特殊字符分隔的单词的字符串上搜索
- 26. 如何匹配包含非单词字符的单词?
- 27. 分词的特殊字符
- 28. 如何初始化字符串包含特殊字符`“`
- 29. 匹配包含特殊字符的整个单词的Javascript正则表达式
- 30. 如何在LIvecode中选择带有特殊字符的单词
'%=> percent'是一个无效的规则。这里的例子是正确的:https://issues.apache.org/jira/browse/SOLR-2059 – zengr 2013-08-27 22:20:36