[英]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.