Solr中带撇号的单词正确分词

时间:2014-05-19 19:10:10

标签: solr lucene

我正在尝试配置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
但后来她变成了一个词,就像小马和公司一样,这不是我想要的。

有什么想法吗?

2 个答案:

答案 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

你可以添加可能导致撇号分裂问题的单词(就像她,他,我们,我们会这样)。这将对它们进行索引而不进行任何进一步的标记化或过滤,同时继续打破撇号上的词以用于占有和其他用途。