首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr multiValue字段操作

Solr multiValue字段操作
EN

Stack Overflow用户
提问于 2015-08-02 10:56:49
回答 1查看 78关注 0票数 0

我尝试将数据从导入solr

User Field1 Field2 Field3

1a b c

1d e f

2 a b c

然而,我在组织字段时遇到了问题。我为字段1、2和3定义了multiValue=true,但是导入的文档如下所示

代码语言:javascript
复制
doc {

 id: 1,
field1:[a,d],
field2:[b,e],
field3:[c,f]

}

这不是预期的结果。我想要的是

代码语言:javascript
复制
doc {

id: 1,
property:[a,b,c]
property:[d,e,f]

}

这意味着给定id的所有相关字段应该被分组到一个实体中。

我应该如何定义我的模式?

我目前的模式如下:

代码语言:javascript
复制
<Entity name="main">
        field id
    <SubEntity name="related">
          field1
          field2
          field3
    </SubEntitiy>
EN

回答 1

Stack Overflow用户

发布于 2015-08-03 02:02:35

您不能仅仅通过定义字段来实现这一点,您还必须以这种方式将数据发送到SOLR。

定义如下

代码语言:javascript
复制
<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"/>

索引数据的单据如下

代码语言:javascript
复制
<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>

从您的描述看,您似乎有正确的模式配置,但缺少的是索引数据的方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31768157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档