【问题标题】:Sub entities in solrsolr 中的子实体
【发布时间】:2015-08-02 07:47:15
【问题描述】:

我正在使用 solr 来索引具有无限数量的相关实体的实体

表 1

身份证名称 1 |啊 2 | bb 3 |抄送

表 2

id 字段1 字段2

1 |工作于|纽约 1 |喜欢去|巴黎

如您所见,每一行代表一个与 id 为 1 的实体相关的实体,哪个值对应哪个重要。

如何使用 Solr 的数据导入处理程序实现这一点?

我在 data-config.xml 中使用了 SubEntity 并为 field1 和 field2 使用了 multiValued=true,但索引文档看起来像

id 1 field1:[工作,喜欢去] 字段2:[纽约、巴黎]

并且列之间的关系完全丢失了。如果一个搜索在巴黎有效,他也可以获得实体 1。我应该怎么做才能维持关系?非常感谢。

【问题讨论】:

    标签: search solr lucene


    【解决方案1】:

    schema.xml 中的架构定义

    id(字符串类型)
    名称(字符串类型)
    worksIn(字符串类型,多值 = true) - 您选择是否需要多值
    likesToGo(输入字符串,多值 = true)- 多值在这里很有意义,因为人是这样的,很可能有更多的地方可以去,无论如何你的要求

    索引后的示例文档

    1,aa,worksIn[Newyork, New Jeysey], likesToGo[Paris, Moon]
    2,bb,worksIn[Dallas], likesToGo[NewYork, Sun]

    查询

    对于“works in Paris”,查询是“worksIn:Paris”。 你得到 id 为 1 的文档
    对于“喜欢去太阳”,查询是“likesToGo:sun”。 你会得到 id 为 2 的文档

    【讨论】:

      猜你喜欢
      • 2016-10-25
      • 1970-01-01
      • 2015-03-30
      • 2011-09-06
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 2011-02-16
      • 2015-10-06
      相关资源
      最近更新 更多