我有一個Lucene索引與「唯一鍵」Solr的:找到最後/最獨特的鍵和範圍搜索
<uniqueKey>ID</uniqueKey>
據我所知,這個鍵必須是「文本」(不是int或長)。
<field name="ID" type="string" indexed="true" stored="true"/>
一個小的應用程序使用lucene索引來搜索這些記錄,這些記錄是自上次運行該應用程序以來添加的。
爲了達到這個目標,我試着以下。
- 裝入最後一個ID(從平面文件) 到變量$ OLDID
- 獲得當前(最後一個/最高)ID 從Solr的/ Lucene的入變 $ currentID
- 執行範圍搜索之間 $ OLDID和$ currentID
- 保存$ currentID成下一個搜索/下一運行平面文件
不幸的是我注意到一個問題:
A.)如何找到最高的ID?
或B)我如何處理的唯一密鑰作爲數字,而不是文本/字符
我想類似的東西:
http://localhost:8080/solr/select/?defType=func&q=max(ID,0)&fq=ID:[$oldID+TO+$currentID]&fl=ID
...返回奇怪的認爲:「999999」作爲最高價值。這是不正確的,因爲最高的ID是1043725.我認爲這是因爲ID是一個文本字段
C.)也許有任何其他的方式來搜索只在最後添加recoreds?
感謝您的幫助!
這是一個非常有趣的信息 - 我從來沒有聽說過QueryElevationComponent。通過閱讀 - > http://wiki.apache.org/solr/QueryElevationComponent,我還有一個問題需要了解是否禁用QueryElevationComponent是一個上帝的想法(無關緊要)。只是爲了理解這個特性:如果我沒有明確地使用它,沒有效果。這是一個預先準備好的太陽能功能,默認情況下處於活動狀態,可以提升特殊效果所以,如果我不在我的應用程序中使用該功能,我可以禁用它,沒有任何副作用!? – 2011-04-28 07:41:59
查詢高程允許通過直接用特定索引條目取代計算/評分結果來操縱搜索結果 - 將其視爲某些搜索用例的覆蓋。默認情況下,它被禁用。無論如何,如果你不使用它,你可以禁用它,而沒有副作用。 – jro 2011-04-28 14:57:06
謝謝你的回答。排序和使用主鍵(ID)現在可以正常工作。 :-) – 2011-04-29 07:24:52