我在Solr中创建了一个文档,并在其中提供了一些数据。数据保存为文档中的列表,如下所示:
"response":{"numFound":2,"start":0,"docs":[
{
"ad_id":[1],
"hash":["1"],
"campaign_id":["1"],
"fingerprint":[1],
"id":"44c458eb-0674-4fce-ad54-e16234c868bf",
"_version_":1577315711035899904}]
}}
我目前正在向Solr表格django提供静态数据,如下所示:
solr.add([
{
"hash": "1",
"ad_id": "1",
"campaign_id": "1",
"fingerprint": "1",
}
])
我希望数据保存如下(不是列表形式):
"response":{"numFound":2,"start":0,"docs":[
{
"ad_id":"1",
"hash":"1",
"campaign_id":"1",
"fingerprint":"1",
"id":"44c458eb-0674-4fce-ad54-e16234c868bf",
"_version_":1577315711035899904}]
}}
有可能吗?如果是,我如何发送我的数据,以便它不会保存为列表?
答案 0 :(得分:2)
检查所有这些字段"ad_id","hash","campaign_id","fingerprint",
如果multivalued
设置为true,则在schema.xml文件中声明
前:
<field name="ad_id" type="text_general" indexed="true" stored="true" multiValued="true"/>
如果您确定所有这些字段在一个文档中都具有单个值,则更改为multivalued="false"
。
注意:如果多值=&#34; false&#34;,则无法将多个值存储到该字段。架构修改后重新启动/重新加载solr并重新索引文档。
答案 1 :(得分:0)
您必须为此更改solr架构中的字段类型。 在字段类型中查找多值。如果您使用的是动态字段类型,我建议您根据架构定义新的字段集。