首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr文档中动态键值对的存储和检索

Solr文档中动态键值对的存储和检索
EN

Stack Overflow用户
提问于 2011-11-15 15:17:41
回答 2查看 4.4K关注 0票数 1

我需要存储和索引附加到特定Solr文档的键值对。例如,可能有数量可变的标签(标签)附加到solr文档,每个标签名称都有一个整数作为它的值。

代码语言:javascript
复制
   <doc>
     <id>1001</id>
     #dymanic tags attached
     php=>10
     web=>2
     programming=>12
     mysql=>10

    </doc>  

因此,当我搜索"php“时,这个文档应该会出现在搜索结果中,并且我应该能够读取该特定文档的值(例如,它的值是10)。我如何为它创建一个模式,我如何存储它。另外,我如何使用REST api搜索它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-15 15:48:57

对于动态字段,您需要将它们添加为用于获取计数的键,以及用于使其可搜索的值。

相反,你可以尝试-

将它们添加为语言和计数的多值字段。

language字段将保存语言的值,也可以用作可搜索字段。

代码语言:javascript
复制
<field name="language" type="text" indexed="true" stored="true" multiValued="true"/>

添加language count作为其他多值字段,并保持顺序。

代码语言:javascript
复制
<field name="language_count" type="int" indexed="false" stored="true" multiValued="true"/>

在响应中,您将有两个language和language_counts数组,您可以通过位置映射客户端上的语言计数。

票数 1
EN

Stack Overflow用户

发布于 2013-10-23 02:36:12

稍微更新一下,因为solr有了新特性:

您使用的是XML,而solr擅长xml,所以请使用XML,然后让solr进行自己的解析。

换句话说,你可以考虑其中之一:

代码语言:javascript
复制
<doc>
  <id php="10" web="2" programming="12" mysql="10">1001</id>
</doc>

代码语言:javascript
复制
<doc>
  <element id="1001" php="10" web="2" programming="12" mysql="10">
    #dymanic tags attached
    php=>10
    web=>2
    programming=>12
    mysql=>10
  </element>
</doc>

代码语言:javascript
复制
<doc>
  <element>
    <id>1001</id>
    <php>10</php>
    <web>2</web>
    <programming>12</programming>
    <mysql>10</mysql>
  </element>
</doc>

当然,如果你真的不能改变你的数据本身,原始的答案仍然有效。

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

https://stackoverflow.com/questions/8132764

复制
相关文章

相似问题

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