所以,我的 Elasticsearch 服務器中有 2 個索引。我需要從第一個索引收集結果,對于每個結果,我需要從第二個索引收集資訊。
怎么做?嘗試了 foreach 處理器,但到目前為止沒有運氣。
基
uj5u.com熱心網友回復:
foreach 處理器用于攝取管道,意思是在索引時完成的東西。因此,當您嘗試收集結果時,它對您沒有幫助。
通常,不可能從查詢中查詢另一個索引(可能位于另一個分片上)。
在某些情況下,您可以使用連接欄位。有性能影響,僅建議在特定情況下使用。
如果您不在連接欄位用例中,并且您可以重構資料以使用嵌套物件,那么它會比連接欄位性能更高。
否則,您最好在應用程式代碼中運行多個查詢(也許您可以只使用一個查詢來獲取所有“次要”結果,因此您總共有 2 個查詢?)
uj5u.com熱心網友回復:
我需要從第一個索引收集結果,對于每個結果,我需要從第二個索引收集資訊。
除非您創建父/子關系,否則在 ElasticSearch 中這是不可能的。
但是,請注意:
在 Elasticsearch 中,獲得良好性能的關鍵是將資料非規范化為檔案。每個連接欄位、 has_child 或 has_parent 查詢都會對您的查詢性能造成重大影響。
處理從應用程式中的多個索引讀取或重新考慮索引映射。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/330911.html
下一篇:Elasticsearch3of280shardsfailed錯誤-有沒有人以前見過這樣的事情并且知道如何修復它?
