solr - (胡萝卜)集群在 solr 中如何工作?

标签 solr lucene cluster-analysis carrot2

我正在运行 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..."

所有字段都被索引和存储,exapt TEXT,只被索引,不被存储。 我使用以下具体配置:

  <str name="carrot.title">TOPIC</str>
   <str name="carrot.snippet">HEADLINE</str>

如果您查看示例,您会发现主题不同,但日本是相同的。是否可以以这种方式配置 solr/carrot,即 example1 和 example2 将位于一个集群中?因为匹配“日本”?!

此外,可能还有第三个主题,例如“新闻/核电”,内部没有“日本”,但标题和文本使用以下单词:日本发电厂。为了在一个集群中接收这 3 条消息,需要什么 solr/carrot 配置?

谢谢!

最佳答案

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

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

  • 尝试用句点后跟空格而不是斜杠来分隔关键字,例如“灾难。日本。核电站”。如果您这样做,Carrot2 会将单词序列(例如“核电站”)视为短语而不是单个单词。

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

  • 如果有机会存储完整的故事文本字段(或者可能是其中的一部分,例如第一段),请使用胡萝卜.标题的标题和胡萝卜.snippet的全文/摘录.

  • 使用 Carrot2 算法的特定设置。最好的工具是 Carrot2 Clustering Workbench。以下是将其连接到 Solr 的方法:http://wiki.apache.org/solr/ClusteringComponent#Tuning_Carrot2_clustering

关于solr - (胡萝卜)集群在 solr 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6549487/

相关文章:

solr - ColdFusion 10 SOLR 安装

Solr:特定自动完成的多个建议器

.net - Solr是否可用于.Net?

java - 设置 Solr 的最佳方式(Ant vs Maven)?

java - 如何在 Lucene-3x 中使用模糊(近似)搜索找到已分析的术语?

r - 如何从一个巨大的矩阵中获得最大可能的列序列和最少可能的行NA?

python - 如何使用FLANN进行标记和聚类?

image-processing - 支持向量机和聚类?困惑

tomcat - solr 多核中的 NullPointerException

search - 我可以保护短单词免受 Solr 中 n-gram 过滤器的影响吗?