【问题标题】:Solr, how to define Nested Documents in the schema.xmlSolr,如何在 schema.xml 中定义嵌套文档
【发布时间】:2015-09-01 00:25:15
【问题描述】:

我有一个包含嵌套文档的文档,我想为 Solr 定义架构。我一直在阅读文档,但我不知道如何使用嵌套文档定义 schema.xml。

当我尝试使用 addBean 为文档编制索引时出现错误,因为架构中没有 obj1 字段,而且我不知道如何定义它。

我正在使用带有@Field 注释的java 对象。

public class ObjToIndex {
    @Field
    String id;

    @Field
    String name;

    @Field
    ObjToIndex2 obj1;

public class ObjToIndex2 {
    @Field
    String id;
    @Field
    String lastName;

我不知道如何在架构中定义一个字段obj1,类型为“object”或类似的东西。

【问题讨论】:

  • 多年后,我仍然找不到这个简单问题的直接答案。每个人都说“去检查文档”,但文档似乎没有示例。

标签: java solr lucene


【解决方案1】:

我相信这是正确的:

How to write nested schema.xml in solr?

here 描述了“为什么”的一些逻辑,但基本概念是“子”文档实际上是同一架构中更多“相关”或“链接”文档。它们可能包含不同的字段,但实际上,它们只是添加到整个架构中的字段超集。

【讨论】:

    【解决方案2】:

    为了有嵌套对象,请使用@Field(child = true)

    public class SolrBeanWithNested{
    
    @Field
    private String id;
    
    @Field(child = true)
    private MyNestedOject nested;
    
    }
    

    从 solr 5.1 开始可用 见票:solr child

    【讨论】:

    • 您能否为此添加必要的 schema.xml 组件?我认为这就是提问者所要求的
    猜你喜欢
    • 2014-04-19
    • 2018-07-26
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    相关资源
    最近更新 更多