【问题标题】:Can we have multiple entity in solr result structure我们可以在 solr 结果结构中有多个实体吗
【发布时间】:2011-03-10 06:47:04
【问题描述】:

目前我的 solr 结果是

{
 "responseHeader":{
  "status":0,
  "QTime":0,
  "params":{
    "indent":"on",
    "start":"0",
    "q":"deepak\r\n",
    "wt":"json",
    "rows":"10",
    "version":"2.2"}},
 "response":{"numFound":1,"start":0,"docs":[
    {
     "summary":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel porta odio. Maecenas ligula erat, ullamcorper ut iaculis non, vulputate vel velit. Cras facilisis, lectus a cursus accumsan, nunc libero aliquam magna, eu porta nulla risus quis nisi.",
     "id":"1",
     "text":"Indian Cellular Market Report and Forcasts 2010 - 2015",
     "price":1225.0,
     "pages":"1",
     "release_date":"2011-03-03T00:00:00Z",
     "product_type":"Report",
     "publisher":"deepak upadhyay",
     "regionText":[
      "Asia"],
     "catagoryId":["2","3"],
     "catagoryText":[
      "Banking & finance",
      "ATM"],
     "regionId":["1"]}]
 }}

我希望我的结果集应该是这样的

{
 "responseHeader":{
  "status":0,
  "QTime":0,
  "params":{
    "indent":"on",
    "start":"0",
    "q":"deepak\r\n",
    "wt":"json",
    "rows":"10",
    "version":"2.2"}},
 "response":{"numFound":1,"start":0,"docs":[
    {
     "summary":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vel porta odio. Maecenas ligula erat, ullamcorper ut iaculis non, vulputate vel velit. Cras facilisis, lectus a cursus accumsan, nunc libero aliquam magna, eu porta nulla risus quis nisi.",
     "id":"1",
     "text":"Indian Cellular Market Report and Forcasts 2010 - 2015",
     "price":1225.0,
     "pages":"1",
     "release_date":"2011-03-03T00:00:00Z",
     "product_type":"Report",
     "publisher":"deepak upadhyay",
     "regionText":[
      "Asia"],
     "catagoryId":["2","3"],
     "catagoryText":[
      "Banking & finance",
      "ATM"],
     "regionId":["1"]}]
 }
    "categories": [
        {
            "text": "the newly launched..",
            "link": "#",
            "id": "12"
        },
        {
            "text": "the newly launched..",
            "link": "#",
            "id": "13"
        }
    ],
    "region": [
        {
            "text": "the newly launched..",
            "link": "#",
            "id": "14"
        },
        {
            "text": "the newly launched..",
            "link": "#",
            "id": "15"
        }
    ]
}

这里列出的类别和地区是搜索结果中找到的所有类别的并集,与地区类似。

【问题讨论】:

  • 好的格式是你的朋友。
  • 这个和XSLT标签之间没有联系。重新标记。

标签: java javascript json solr


【解决方案1】:

solr 索引格式是“flat”。这意味着如果不对数据进行大量非规范化,您将无法轻松地对父/子或其他分层信息进行建模。 尽管没有内置方法可以检索您描述的格式的文档,但有几种解决方案。哪种解决方案最适合您取决于您​​的具体要求。

如果您只需要在 GUI 中显示子元素,您可以简单地将所有信息以 JSON 或串联字符串 (see this mailing list post) 的形式存储在单个字段中。

如果您需要查询子元素,例如可以使用以下前缀索引类别和区域信息:

 "catagoryId":["cat1_2","cat2_3"],
 "catagoryText":["cat1_Banking & finance", "cat2_ATM"],

然后,您的结果处理程序可以将信息转换回嵌套实体模型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 2021-08-03
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多