如何將Lucene返回的搜索結果按字段進行分組(類似於SQL Server的)?如何在Lucene搜索結果中進行分組?
5
A
回答
1
https://issues.apache.org/jira/browse/LUCENE-1421
看來,你不能。有可能是一個解決辦法,但: 這裏那裏有一個線程,概述如何別人已經做到了:here
0
你是否想有一個真正的類似SQL的「GROUP BY」的行爲,或者僅僅是一個「ORDER BY」目前尚不清楚行爲。在Lucene中沒有什麼像聚合函數,所以「GROUP BY」必須在你的應用程序中實現,在Lucene之上。
但是,按字段排序相當容易。確保所需字段已編入索引,並創建要作爲搜索條件一部分傳遞的對象;大多數搜索方法都有一個接受Sort
實例的過載。
如果您要實現自己的「GROUP BY」邏輯,結果爲「ORDERED BY」,則正確的字段是有用的第一步。
1
的Lucene有一些suplimentary庫,一個是你需要的東西:Grouping
您無法通過函數查詢值,也不是由任意查詢組(如Solr的一樣),但您可以通過單值字段。類似
東西(面搜索)將在Lucene的4.0
2
的Lucene 3.4實現現在支持面搜索。在編制索引時,您指定了一些補充內容,並在搜索時按查詢和組進行搜索。
明年3個文檔,你指數與這些團體
doc1: monday, 1pm, 3min
doc2: monday, 1pm, 4min
doc3: monday, 2pm, 3min
你只能搜索第一個參數:週一,並獲得價值:3, 或者可以向下鑽取並搜索週一/下午1點,並得到價值:2 或搜索3的設定深度,並得到
monday :3
monday/1pm :2
monday/1pm/3min :1
monday/1pm/4min :1
monday/2pm :1
monday/2pm/3min :1
這裏的source sample:
但大多數Ø f全部閱讀faceted search
相關問題
- 1. 如何在lucene中對搜索結果進行排序?
- 2. 如何在Django中對Haystack搜索結果進行分組
- 3. 對搜索結果進行分組 - RavenDB
- 4. Lucene搜索結果
- 5. 排序Lucene搜索結果
- 6. 在Lucene中搜索結果屬性數
- 7. 使用Lucene 4.3進行分面搜索
- 8. 如何對多個索引之間的lucene搜索結果進行排序?
- 9. 如何根據Lucene-3.0.2中的字段值對搜索結果進行排序?
- 10. 分組Lucene搜索結果和計算頻率由
- 11. 按不同字段對Lucene搜索結果進行排序
- 12. 將Lucene搜索結果與關係數據庫進行映射
- 13. 如何根據lucene搜索結果查詢lucene?
- 14. 按字段對搜索結果進行分組
- 15. 在AngularJS中進行實時搜索:更新搜索結果
- 16. 在lucene中進行相對搜索(非地理空間搜索)
- 17. 從apache lucene索引搜索並計算結果組明智
- 18. Lucene搜索返回不同的結果
- 19. 使用Lucene更好的搜索結果
- 20. Lucene搜索結果不是最優的
- 21. Lucene搜索結果的相關性
- 22. Lucene的搜索跳過一些結果
- 23. 查詢爲Lucene搜索結果
- 24. 尋呼Lucene的搜索結果
- 25. Lucene .NET沒有返回搜索結果
- 26. Lucene搜索沒有返回結果
- 27. 在Select2中對結果進行分組
- 28. 在SQL中對結果進行分組
- 29. 在MySQL中對結果進行分組
- 30. 如何從搜索結果中獲取lucene的docId?
鏈接已損壞。也許新的位置是這樣的:http://lucene.apache.org/core/old_versioned_docs/versions/3_2_0/api/contrib-grouping/org/apache/lucene/search/grouping/package-summary.html – 2013-03-08 18:50:13