2017-05-29 35 views
0

我有一個從pdf文件目錄生成的solr索引,並且相應的pdf文件本身是相應的元數據字段。不過,我想爲我的用戶提供一個選項,用於在查詢中排除從PDF中索引的任何文本。這是因爲查詢結果將基於元數據字段,而不是被pdf文件中的巨大文本所偏向。如何排除在索引查詢中從PDF索引的文本

我想過也許有兩個索引(核心) - 一個與索引的PDF文件和一個沒有。

還有別的辦法嗎?

回答

0

您不需要使用2個單獨的索引。您可以使用edismax解析器並在查詢時指定qf參數。這將有助於確定搜索哪些字段。

1

聽起來就像您正在對默認字段進行常規搜索。這意味着你有很多copyField指令(或者只有一個copyField * - >文本),其中包括PDF內容字段。

您可以創建第二個目標並複製除PDF內容字段以外的所有內容。通過這種方式,用戶可以搜索另一個組合字段。

但是,請記住,它會根據目標字段的分析鏈解析所有內容。因此,帶有源字段列表的eDisMax可能是更好的方法。並且,請記住,您可以使用多個請求處理程序(如'select')並在其中定義不同的默認參數。這通常會使客戶端代碼更容易一些。

0

你可以看一下field aliases

如果你有3個索引字段

  • pdfmeta
  • pdftext

然後,您可以創建兩個字段別名

  • q uicksearch:pdfmeta
  • fullsearch:pdfmeta,pdftext使用字段別名超過QF的

一個優點是,如果你的用戶有像q=quicksearch:value書籤,您可以更改別名快速搜索,而不會影響用戶的書籤。