Solr,如何在schema.xml中定义嵌套文档

时间:2015-06-16 09:09:23

标签: java solr lucene

我有一个带有嵌套文档的文档,我想为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;

我不知道如何在架构中定义类型为“object”或类似内容的字段obj1

2 个答案:

答案 0 :(得分:-1)

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

public class SolrBeanWithNested{

@Field
private String id;

@Field(child = true)
private MyNestedOject nested;

}

自solr 5.1起可用 见票:solr child

答案 1 :(得分:-1)

我认为这是正确的:

How to write nested schema.xml in solr?

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