【问题标题】:Is it possible to integrate child documents from solr into carrot workbench?是否可以将来自 solr 的子文档集成到胡萝卜工作台中?
【发布时间】:2020-12-21 10:37:05
【问题描述】:

在我的 solr 数据库中,我的结构如下所示: 代表人名的父文档(字典)。这些父文档还包含嵌套的子文档,其中出现与这些人的姓名匹配的文档(字典的嵌套列表)。

当我尝试以一种有意义的方式对信息进行聚类时,我只能直接对子文档进行聚类,这会产生一堆属于这些文本的聚类关键字。

理想情况下,我想根据嵌套子文档的相似性对人(父文档)进行聚类。因此,我不想将文本中的关键词聚集在一起,而是将具有相似内容的人的名字聚集在一起。

例如如果 Bob、John、Lewis 个人资料都有包含文本“我们精通 Python”的子文档;和 Dan、Maria、Chris 个人资料的子文档包含文本“我们精通 Java”。我想要一组 (Bob, John, Lewis) 和一组 (Dan, Maria, Chris)。所以,当我们点击第一个集群时,我们得到的结果是“我们精通 Python”,而对于第二个集群,我们得到的结果是“我们精通 Java”。

有没有办法在胡萝卜工作台上重现这样的结构?

【问题讨论】:

    标签: search solr cluster-analysis parent-child carrot2


    【解决方案1】:

    很遗憾没有。这是一个非常具体的场景,我们的目标是让 Workbench 成为一个通用工具,让 Solr 成为众多文档源之一。

    对于这种父子集群,您需要直接使用 Carrot2 Java 或 REST API:

    1. 从 Solr 获取子文档,将它们聚集在 Carrot2 中。
    2. 对于每个集群 C:
      • 创建一个与集群 C 具有相同标签的新集群 CC,
      • 对于集群 C 中的每个子文档 D,获取子文档 P 并将父文档放入集群 CC。
      • 将集群 CC 放入父集群集中。

    作为上述过程的结果,您将拥有一组包含父文档的集群,这些父文档由文档的子文档的文本内容组成。

    【讨论】:

    • 很高兴知道有可能获得我想要的聚类结构。您能否为您的陈述提供一个示例或更清晰的说明:“集群子文档,根据从 Solr 获得的父子文档关系构建父集群”
    • 查看编辑后的回复了解更多详情。
    • 谢谢。在第 2 步中,您是否正在创建子集群?在 solrconfig.xml 文件中启用子集群是否可以为此工作,或者这些说明仅适用于 Carrot2 Java(不幸的是,我不使用 Java)。
    • 我认为不可能在 Solr 内部执行整个过程。我不熟悉 Solr 中的父子文档,但是如果您可以以某种方式选择子文档以及每个子文档的父引用,那么您可以在 Solr 中运行第 1 步,然后对结果进行后处理(第 2 步)在您用来将查询发送到 Solr 的任何环境中。
    • 不,仍然会为子文档生成层次结构。要获取父文档的集群,您必须对从集群引擎获得的结果进行后处理。父子集群不能完全在 Solr 或任何其他 Carrot2 API 中完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 2016-09-10
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多