我的 Elasticsearch 索引中有父檔案和子檔案通過連接關聯:https : //www.elastic.co/guide/en/elasticsearch/reference/6.3/parent-join.html。
我希望能夠提交一個與子檔案匹配的查詢并回傳匹配子檔案的同級。
我的情況是我將學生分組,索引中的每個學生都是一個單獨的子檔案,同一組中的所有學生都具有相同的 parentId。除了 groupId 之外,父檔案不包含任何有意義的欄位。我的查詢是我想通過單個查詢獲取與學生 X 同組的所有學生的串列。例如,我的查詢類似于:
{
"query": {
"match": {
"studentName": "Bob"
}
}
}
我的回答會列出與“鮑勃”同組的所有學生
注意:我意識到這個問題可以很容易地通過將一個組中的孩子嵌套到一個檔案中來解決,但是,對于我的用例,我不能這樣做,因為我需要支持能夠搜索的第二個查詢為學生按姓名并根據相關性按排序順序回傳結果。如果我將學生檔案嵌套在同一個檔案中,據我所知,我無法再實作第二個查詢。
有誰知道是否可以搜索兄弟姐妹查詢?或者更廣泛地說,有沒有人知道任何 ES 構造,它可以讓我通過單個查詢實作在學生 X 的組中搜索學生和在單個查詢中按姓名搜索學生?
uj5u.com熱心網友回復:
像看起來可以通過嵌套實作has_child內has_parent。盡管如此,您仍無法按子檔案的屬性進行排序 根據您的索引大小,此查詢會很慢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/330904.html
上一篇:ES中的總數
