簡體   English   中英

確定哪個值在SOLR多值字段類型中產生了命中

[英]determine which value produced a hit in SOLR multivalued field type

如果我有一個multiValued字段類型的文本,我將值[cat,dog,green,blue]放入其中。 有沒有辦法告訴我何時對狗的那個字段執行查詢,它是否在該multiValued字段的第一個元素位置?

假設:客戶端對所查詢的字段的字段類型沒有任何預先知識。 (即Solr必須提供答案,客戶端不能對返回文檔進行后處理,因為它不知道SOLR如何將查詢與結果相匹配)。

披露:我發布到solr-user列表並且沒有牽引力所以我現在在這里發布。

目前,Solr中沒有提供開箱即用的功能,它告訴您multiValue字段中值的位置。

希望我能正確理解你的問題。

如果你想得到字段索引或值,有一個丑陋的解決方法:

您可以直接在值中添加索引,例如存儲“1; car”,“2; test”等。 然后使用突出顯示。 讀取返回的字段時,只需跳過分號前的文本。

但是,如果您只想查詢一種類型:

您可以避免使用多值方法,只需將其存儲為item_i並通過item_1進行查詢。 要查詢所有項目,無論您需要在schema.xml中使用copyField指令

Lucene API允許這樣做,但我不確定Solr是否可以開箱即用。 在Lucene中,您可以使用IndexReader.termPositions(Term term)方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM