假设我有一个带有自由文本字段的文档,该字段将描述企业将属于哪种类型的分支:
示例1:“专注于医疗保健解决方案的IT咨询”
示例2:“为美国境内的在线客户提供财务建议”
对于Solr或Lucene,我想要做的是提取文本中描述的业务操作的分类法,并考虑潜在的同义词。因此,第一个示例变成了一个图形,如:信息技术<-咨询->-> HeathCare
示例2是:财务<-咨询
咨询或咨询等操作是取决于上下文的同义词。
发布于 2013-10-10 23:30:48
对于同义词,将分析器设置为在同义词文件中使用SynonymFilterFactory和,例如
<filter class="solr.SynonymFilterFactory" synonyms="business-synonyms.txt" ignoreCase="true" expand="true" />
该文件将如下所示:
IT,information technology
advising,consulting
尽管“it”和大小写不敏感,但它可能会扩展“it”这个词的正常用法,所以你可能需要试验一下什么最适合你的数据。
如果同义词需要上下文,那么就会变得更加棘手。
其次,为了只索引你感兴趣的内容,你可以使用KeepWordFilterFactory。您需要在文本文件中列出您有兴趣进行索引的所有单词。
此设置将为您感兴趣的所有关键字创建索引,包括同义词。因此,您将能够搜索,比方说,特定的业务类型,例如“its咨询医疗保健”和Solr将能够使用同义词及其评分系统检索匹配的内容。
https://stackoverflow.com/questions/19297902
复制相似问题