我們的項目需要近實時搜索和不斷更新。數據當前存儲在MySQL數據庫中,Lucene索引隨着數據庫的修改而更新。混合Lucene/MySQL查詢或概念
我們目前在我們想要的地方有搜索功能。但是,我們正在嘗試添加「標記」文件到索引/數據庫中的功能。由於數據源可能是數百萬條記錄,因此我們不想更新Lucene索引以進行標記(或者是否有方法可以對Lucene進行大規模更新)。我們在MySQL中有一個文檔ID表,我們希望用它來確定標籤集。
到目前爲止,我發現的最好的選擇是將ID列表作爲整數數組進行檢索,對它們進行排序(因此我只需要循環一次),然後遍歷並查找兩者之間的匹配(儘管這是不理想的,因爲我們可能會失去排序)。
嘗試在MySQL中的「IN」查詢中使用Lucene ID列表失敗,因爲文檔數量可能在數百萬個以及MySQL扼流器上。
深入瞭解我們如何優化或做到這一點?
另一個建議是使用MutliSearcher的第二個索引,但我不完全確定如何去做,因爲在更新或刪除標記集時,仍然需要更新索引,可能有100萬行。