0
我想返回在具有特定值的文檔後找到的所有匹配文檔。該值是唯一的。 我曾嘗試使用numericfilterrange。這不是一個好的解決方案,因爲字段值可能是任何順序基於特定字段篩選lucene搜索
我想返回在具有特定值的文檔後找到的所有匹配文檔。該值是唯一的。 我曾嘗試使用numericfilterrange。這不是一個好的解決方案,因爲字段值可能是任何順序基於特定字段篩選lucene搜索
如果我明白你需要什麼,使用數字範圍是正確的方法來使你想要的東西變成你想要的。爲了排序的同一領域,你需要一個Sort
參數傳遞給你的搜索調用,這樣的:
Sort sort = new Sort(new SortField("myNumericField", SortField.Type.INT));
searcher.search(query, maxDocs, sort)
我需要一定的價值已經在搜索中已經遭遇後保留所有的值。例如,所有文檔在包含字段的某個文檔之後,值爲「5」的「id」 – Neelesh
因此,具有「id> 5」的所有文檔,對不對?除非我誤解了你的問題,你說你已經用'NumericRangeQuery'獲得了。使用相同的查詢,並按照指示添加「排序」。 – femtoRgon
等待,重讀,也許你正在尋求別的東西。實際上,您是否試圖找到一個Document,然後返回所有在此之後寫入索引的Document? Lucene文檔實際上並沒有一個有意義的自然順序,只是基於DocID而不是真的足夠。如果這就是你想要的,你應該有一個與之相關的領域。進入日期可能有意義。 – femtoRgon