【问题标题】:How to exclude text indexed from PDF in solr query如何在 solr 查询中排除从 PDF 索引的文本
【发布时间】:2017-10-29 06:19:31
【问题描述】:

我有一个从 PDF 文件目录和与 pdf 文件本身相关的元数据字段生成的 solr 索引。不过,我想为我的用户提供一个选项,以在查询中排除从 PDF 中索引的任何文本。这样查询结果将基于元数据字段,而不是受到 pdf 文件中大量文本的影响。

我想过可能有两个索引(核心)——一个带有索引的 pdf 文件,一个没有。

还有其他方法吗?

【问题讨论】:

    标签: pdf indexing solr


    【解决方案1】:

    你可以看field aliases

    如果你有 3 个索引字段

    • pdfmeta
    • pdf文本

    然后可以创建两个字段别名

    • 快速搜索:pdfmeta
    • 全搜索:pdfmeta、pdftext

    使用字段别名而不是 qf 的一个优点是,如果您的用户有像 q=quicksearch:value 这样的书签,您可以更改快速搜索的别名,而不会影响用户的书签。

    【讨论】:

      【解决方案2】:

      听起来您正在对默认字段进行一般搜索。这意味着您有很多 copyField 指令(或只有一个 copyField * -> 文本),其中包括 PDF 内容字段。

      您可以创建第二个目标并将除 PDF 内容字段之外的所有内容复制到该目标中。这样,用户可以搜索或搜索其他组合字段。

      但是,请记住,这会根据目标字段的分析链解析所有内容。因此,带有源字段列表的 eDisMax 可能是一种更好的方法。而且,请记住,您可以使用多个请求处理程序(如“选择”)并在那里定义不同的默认参数。这通常会使客户端代码更容易一些。

      【讨论】:

        【解决方案3】:

        您不需要使用 2 个单独的索引。您可以使用edismax 解析器并在查询时指定qf 参数。这将有助于确定要搜索的字段。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-11-25
          • 2015-06-07
          • 1970-01-01
          • 1970-01-01
          • 2012-02-01
          • 1970-01-01
          • 2011-06-08
          相关资源
          最近更新 更多