我有一个带有嵌套文档的文档,我想为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
。
答案 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,但基本概念是"孩子"文件实际上更多"相关"或"链接"同一模式中的文档。它们可能包含不同的字段,但实际上,它们只是添加到整个模式中字段的超集。