如何在solr查询

时间:2017-05-29 02:55:21

标签: pdf indexing solr

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

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

还有其他办法吗?

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以查看field aliases

如果您有3个索引字段

  • pdfmeta
  • pdftext

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

  • quicksearch:pdfmeta
  • fullsearch:pdfmeta,pdftext

使用字段别名优于qf的一个优点是,如果您的用户拥有q=quicksearch:value等书签,则可以更改quicksearch的别名,而不会影响用户的书签。