Solr / Lucene句子分析拔出科目

时间:2013-10-10 14:01:07

标签: solr lucene text-analysis

我们说我的文档中包含一个自由文本字段,用于描述企业属于哪种类型的分支:

示例1:" IT咨询专注于医疗保健解决方案"

示例2:"为美国境内的在线客户提供财务建议"

我希望与Solr或Lucene达成一致意见,即在考虑潜在同义词的文本中描述业务运营分类。所以第一个例子变成了如下图:   信息技术< - [in] - 咨询 - [on] - >健康关怀

示例2将是:   财务< - [in] - 咨询

咨询或建议等操作是同义词,具体取决于具体情况。

1 个答案:

答案 0 :(得分:1)

对于同义词,设置分析器以使用SynonymFilterFactory并在同义词文件中,例如

<filter class="solr.SynonymFilterFactory" synonyms="business-synonyms.txt" ignoreCase="true" expand="true" />

该文件看起来像:

IT,information technology
advising,consulting

等。虽然“IT”和不区分大小写,但它可能会扩展“it”这个词的正常使用,因此您可能需要尝试一下哪种方法最适合您的数据。

如果同义词需要上下文,那么它会变得更加棘手。


其次,要仅对您感兴趣的内容编制索引,可以使用KeepWordFilterFactory。您需要在文本文件中列出您有兴趣索引的所有单词。


此设置将为您感兴趣的所有关键字创建索引,包括同义词。因此,您可以搜索特定的商家类型,例如“IT咨询医疗保健”和Solr将能够使用同义词及其评分系统检索匹配。