(carrot)集群在solr中是如何工作的?

(carrot)集群在solr中是如何工作的?,solr,lucene,cluster-analysis,carrot2,Solr,Lucene,Cluster Analysis,Carrot2,我已经运行了Lucene/Solr4来测试不同的特性,还有“集群”。 目前,有100万个文档被编入索引。每个文档都有以下字段: ID (unique Key) Example1: 10245 Example2: 24974 TOPIC (Keywords of the document) Example1: "disaster/japan/nuclear power station" Example2

我已经运行了Lucene/Solr4来测试不同的特性,还有“集群”。 目前,有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..."
所有字段都已编制索引并存储,例如仅编制索引而未存储的文本。 我使用以下特定配置:

  <str name="carrot.title">TOPIC</str>
   <str name="carrot.snippet">HEADLINE</str>
主题
大字标题
如果你看你看到的例子,主题是不同的,但日本是相同的。是否可以这样配置solr/carrot,即example1和example2将位于一个集群中?因为匹配的“日本”

此外,可能还有第三个主题,如“新闻/核电”,里面没有“日本”,但标题和文字使用的是:日本发电厂。为了在一个集群中接收这3条新闻,什么solr/carrot配置是相关的


谢谢大家!

Carrot2设计用于对自然/非结构化文本进行聚类,这样的算法很少能产生人类认为完美的结果。不幸的是,这样的算法也很难“调试”——它们产生的集群取决于许多因素,比如文档中出现单词的频率。在您的具体示例中,可能没有选择“Japan”一词来组成一个集群,因为它太频繁了——它出现在您引用的所有文档中

以下是一些您可能希望尝试调整集群的提示:

  • 试着用句号而不是斜杠来分隔关键词,例如“灾难、日本、核电站”。如果你这样做,Carrot2将把单词序列,比如“核电站”,当作短语而不是单个单词

  • 尝试不同的Carrot2聚类算法,例如STC

  • 如果有机会存储您的完整故事文本字段(或部分字段,如第一段),请使用标题作为carrot.title,使用全文/摘录作为carrot.snippet

  • 使用Carrot2算法的特定设置。最好的工具是Carrot2ClusteringWorkbench。以下是如何将其连接到Solr:


谢谢,这里有很多有趣的想法,我会尝试一下。