solr - 如何从结果中排除与我的查询不匹配的多值字段?

时间:2014-11-17 18:58:48

标签: solr indexing lucene dataimporthandler

我有一些像上面那样的索引文档:

{
  "doc_desc": "Indexing Child Documents in JSON",
  "doc_id": "379",
  "image_id": [
          "28086# ho hum... this is page 1 of chapter 1",
          "28087# more text... this is page 2 of chapter 1",
          "28088# more text... this is page 3 of chapter 1"
      ]
}

当我查询“ho hum”时,我需要返回的文件类似于:

{
      "doc_desc": "Indexing Child Documents in JSON",
      "doc_id": "379",
      "image_id": [
              "28086# ho hum... this is page 1 of chapter 1"
       ]
}

所以我可以知道正在搜索的单词页面。我怎么能这样做?

换句话说...如何从结果中排除与我的查询不匹配的多值字段?

OBS:我在SQL Server数据库中使用solr-4.10.2和数据导入(db-data-config.xml)。

1 个答案:

答案 0 :(得分:0)

你不能,至少没有大量的手工修补。

两种可能的解决方案是将每个页面编入索引作为单独的文档,或使用the Block Join feature of Solr。第一种选择可能是实施最快的选择。