Off-line 使用 solr 进行聚类?

Off-line clustering using solr?

我想在 solr 中对索引数据进行聚类。每个 solr 文档包含以下字段:id、title、url.

我已阅读 solr 7.7 文档,那里提到的聚类算法仅适用于每个查询的搜索结果。而我需要的是一个基于文档标题的全索引聚类。

有人可以帮忙吗?

据我所知,没有用于对整个 Solr 索引进行聚类的现成插件。

如果您有一定的机器学习背景,请查看 Apache Mahout, it should be suitable for clustering a dataset of this size. Alternatively, there's a commercially-licensed Carrot2 spin-off we develop called Lingo4G,它专为对大型文本集合进行聚类而设计。然而,在这两种情况下,都没有与 Solr 的直接集成——您需要自己处理集成。

在 solr 8.x 中删除了结果聚类。位于 solr 网站上的原因是“搜索结果集群贡献 (Carrot2) 已从 8.x Solr 中删除,因为在提供在线搜索结果集群的依赖项中缺乏 Java 1.8 兼容性。”

以下是我如何让它在 JVM 11 上运行。所有必要的文件都可以从 this Github repo!

下载
  1. 按照说明安装集群贡献:https://solr.apache.org/guide/8_1/result-clustering.html
  2. solr-clustering-8.7.0.jar添加到/solr-8.x.x/dist 目录(我测试了这个 jar 到 Solr 版本 8.11.1)
  3. 创建/solr-8.x.x/contrib/clustering 目录并将文件复制到marked for contrib
  4. 重启solr

测试 java 11