簡體   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