我正在尝试配置Lucene / Solr以正确索引来自新闻文章的单词。正如目前使用Solr 3.4 WordDelimitedFilterFactory索引“开箱即用”: 她 成为 的她
但她会像“她会”变成她,她,她和贝壳。我绝对不希望这匹配“shell”。这不是预期的词。
目前我的文本通过WhitespaceTokenizerFactory,然后是StopFilterFactory,然后将WodDelimiterFilterFactory设置为: generateWordParts = “1” generateNumberParts = “1” catenateWords = “1” catenateNumbers = “1” catenateAll = “0” splitOnCaseChange = “0” splitOnNumerics = “0” preserveOriginal = “1” types =“specialtypes.txt”
我试着说撇号是specialpes.txt中的字母字符,它说:
' => ALPHA
但后来她变成了一个词,就像小马和公司一样,这不是我想要的。
有什么想法吗?
答案 0 :(得分:3)
添加
solr.ApostropheFilterFactory
根据文件:
在撇号后包括所有字符(包括撇号 本身)。
示例:“Türkiye'de”,“2003'te”==> “Türkiye”,“2003”。
答案 1 :(得分:1)
尝试使用protected =“protwords.txt”作为solr.WordDelimiterFilterFactory过滤器设置的一部分:https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.WordDelimiterFilterFactory
你可以添加可能导致撇号分裂问题的单词(就像她,他,我们,我们会这样)。这将对它们进行索引而不进行任何进一步的标记化或过滤,同时继续打破撇号上的词以用于占有和其他用途。