【问题标题】:solr - How can I exclude from the result the multivalue fields that don't match my query?solr - 如何从结果中排除与我的查询不匹配的多值字段?
【发布时间】:2015-01-14 18:55:24
【问题描述】:

我有一些类似上面的索引文档:

{
  "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"
      ]
}

当我查询“嗡嗡声”时,我需要返回的文档类似于:

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

这样我就可以知道包含我正在搜索的单词的确切页面。我该怎么做?

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

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

【问题讨论】:

    标签: solr indexing lucene dataimporthandler


    【解决方案1】:

    你不能,至少在没有大量手动修补的情况下是不能的。

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

    【讨论】:

    • 我找不到如何使用数据导入为每个页面创建单独的文档。我刚刚找到了如何使用 json 来做到这一点。你有什么建议吗?
    • @user5590 抱歉,我不知道如何直接在您的导入处理程序中执行此操作。不过,您可能会在 UpdateProcessor 中成功。
    • @user5590 根据您需要的内容,您还可以在查询时使用突出显示模块获得所需的内容。
    • 非常感谢。我将尝试索引页面而不是文档。
    猜你喜欢
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 2012-05-05
    • 1970-01-01
    • 2019-11-24
    • 2023-01-19
    • 1970-01-01
    相关资源
    最近更新 更多