我试图将数据导入solr
用户Field1 Field2 Field3
1 a b c
1 d e f
2 a b c
但是我在组织田地时遇到了麻烦。我为字段1,2和3定义了multiValue=true
,但导入的文档看起来像
doc {
id: 1,
field1:[a,d],
field2:[b,e],
field3:[c,f]
}
这不是预期的结果。我想要的是
doc {
id: 1,
property:[a,b,c]
property:[d,e,f]
}
表示给定id的所有相关字段应分组为一个实体。
我应该如何定义架构?
我当前的架构如下:
<Entity name="main">
field id
<SubEntity name="related">
field1
field2
field3
</SubEntitiy>
答案 0 :(得分:0)
只有在定义字段的帮助下才能实现这一点,您必须以这种方式将数据发送到SOLR。
定义应如下
<field name="id" type="string" indexed="true" stored="true" multiValued="false"/>
<field name="field1" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="field2" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="field3" type="string" indexed="true" stored="true" multiValued="true"/>
Doc索引数据应该如下
<add>
<doc>
<field name="id">1234</field>
<field name="field1">a</field>
<field name="field1">b</field>
<field name="field1">c</field>
<field name="field2">d</field>
<field name="field2">e</field>
<field name="field2">f</field>
<field name="field3">a</field>
<field name="field3">b</field>
<field name="field3">c</field>
</doc>
</add>
根据您的描述,您看起来已经有了正确的架构配置,但缺少的是索引数据的方式。