[英]How does (carrot) clustering work in solr?
我已经运行 Lucene/Solr 4 来测试不同的特性,也就是“集群”。 目前,有 100 万份文档被索引。 每个文档都有以下字段:
ID (unique Key) Example1: 10245
Example2: 24974
TOPIC (Keywords of the document) Example1: "disaster/japan/nuclear power station"
Example2: "world/japan/nuclear power"
HEADLINE (1 line of text): Example1: "explosion at nuclear power plant in japan"
Example2: "news about japans nuclear power plant"
TEXT (the full text): "In the Japanese nuclear power plant in Fukushima..."
所有字段都被索引和存储,例如 TEXT,它只被索引,不被存储。 我使用以下具体配置:
<str name="carrot.title">TOPIC</str>
<str name="carrot.snippet">HEADLINE</str>
如果你看你看到的例子,主题是不同的,但日本是一样的。 是否可以以这种方式配置 solr/carrot,example1 和 example2 将在一个集群中? 因为匹配“日本”?!
此外,可能还有第三个主题,如“新闻/核能”,里面没有“日本”,但标题和文本使用的词是:日本发电厂。 为了在一个集群中接收这 3 个消息,什么 solr/carrot 配置是相关的?
谢谢!
Carrot2 旨在对自然/非结构化文本进行聚类,此类算法很少会产生人类认为完美的结果。 不幸的是,这样的算法也很难“调试”——它们产生的集群取决于许多因素,例如单词在文档中出现的频率。 在您的具体示例中,可能没有选择“日本”这个词来形成一个集群,因为它太频繁了——它出现在您引用的所有文件中。
以下是您可能想要尝试调整集群的一些提示:
尝试用句点后跟空格而不是斜线来分隔关键字,例如“灾难。日本。核电站”。 如果您这样做,Carrot2 会将单词序列(例如“nuclear power station”)视为短语而不是单个单词。
尝试不同的 Carrot2 聚类算法,例如 STC。
如果有机会存储您的全文文本字段(或者可能是其中的一部分,例如第一段),请使用胡萝卜.title 的标题和胡萝卜.snippet 的全文/摘录。
使用 Carrot2 算法的特定设置。 最好的工具是 Carrot2 Clustering Workbench。 以下是将其连接到 Solr 的方法: http://wiki.apache.org/solr/ClusteringComponent#Tuning_Carrot2_cluster
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.