最近用lucene寫一個多目錄分布式檢索的程序。不知道各位有沒有遇到ParallelMultiSearcher無法使用自定排序的問題。我用indexseacher時驗證我擴展的自定義排序是沒有問題的。但是在ParallelMultiSearcher的情況下卻始終不能按照我制定的排序規則去進行排序。郁悶至極,只好跟進lucene的源碼中看個究竟。發現排序沒有問題。只是PriorityQueue中堆棧總在我put 和 pop的情況下給doc的順序改變了。沒辦法。只好自己擴展了堆棧放入和彈出部分代碼。終于將問題解決了。下面是我修改的源碼。附件上來。希望能幫助和我一樣遇到問題的朋友。
lucene的自定義排序:
DefaultSortImpl.java
ParallelMultiSearcher排序修改:
ParallelMultiSearcher.java
DefaultSortImpl.java
posted on 2007-08-29 12:03
安文豪 閱讀(2164)
評論(0) 編輯 收藏