【问题标题】:Solr nested Object Parse ErrorSolr 嵌套对象解析错误
【发布时间】:2017-09-04 12:53:03
【问题描述】:

我在 Solr 中有一个嵌套对象,我在管理架构文件中使用架构。 但是 Solr 以扁平方式存储嵌套对象。

示例:-

{ "id": 1234,
  "name":{
           "fname":"Random",
           "lastName":"Name"
          }
}

管理模式文件

<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name.fName" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name.lastName" type="string" indexed="true" stored="true" required="true" multiValued="false" />

什么时候在 Solr 中插入示例数据,将数据存储为 this

{"id":1234,
"name.fName":"Random",
"name.lastName":"Name"
}

所以当我从 solr 获取数据并尝试转换为我的类对象时,它给了我解析错误 no value for key fName

请帮忙 谢谢

【问题讨论】:

    标签: solr schema solr4 solrcloud


    【解决方案1】:

    在 Solr 中建模/查询嵌套对象有 2 种主要可能的方法: 索引时间加入

    • 暗示一个非常具体的索引策略,你必须索引整个块(children + parent)

    • 相当快

    查询时间加入

    • 您无需遵循任何特定的索引策略,一切都会在查询时发生。
    • '慢'

    在这两种情况下,您都不需要任何花哨的方式来命名架构中的字段(嵌套对象功能与字段命名无关)。

    [1]https://cwiki.apache.org/confluence/display/solr/Uploading+Data+with+Index+Handlers#UploadingDatawithIndexHandlers-NestedChildDocuments

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-23
      相关资源
      最近更新 更多