繁体   English   中英

Apache Solr仅返回在以下位置找到值/查询字符串的字段

[英]Apache Solr only return fields that value/query string was found in

我刚刚开始使用Apache Solr。

我已经成功运行了Apache教程,现在创建了自己的集合并为文件建立了索引。

尽管文档内容丰富,但我找不到是否可以查询所有字段,而只能返回在其中找到搜索字符串/查询的字段。

例如,如果我有一个文件: Filename: Weekly Report For Company X.pdf

关联/索引元数据:

"id":"S:\\Weekly Reports\\JAN\\Weekly Report For Company X.PDF",
"date":["2017-11-02T19:14:07Z"],
"pdf_pdfversion":[1.6],
"company":["Microsoft"],
"access_permission_can_print_degraded":[true],
"subject":["weekly report; reports; weekly"],
"contenttypeid":["0x010100F29081EC69D67544A17D8172A093E42E"],
"dc_format":["application/pdf; version=1.6"],

如果我查询“每周报告”,我只想返回'id''subject'字段,因为这些是唯一包含实际查询值的字段。 如果其他字段包含字符串,我也希望它们返回。

我倾向于“无法完成”(但希望我错了),因为我将它比作SQL查询。 它必须知道要在SQL语句中返回哪些字段,并且不能根据没有匹配的字符串删除字段。

由于在运行查询之前我不知道匹配的字段,因此无法在执行查询时使用过滤器列表选项。

这可能吗?

尽管这可能并不是您想要的,但是您可以通过突出显示来模仿类似的行为。

所有您需要做的-创建带有max的 qf dismax查询 (例如qf=id,subject,company

然后,您需要请求突出显示 ,为其请求所有字段( hl.fl=id,subject,company ),然后启用 hl.requireFieldMatch ,这将强制Solr仅返回与查询匹配的字段。

在这种情况下,您将有一个突出显示部分,其中包含匹配文档的ID,仅包含匹配字段的突出显示内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM