0
比方說,我們有一個包含以下字段的文檔索引:uid和業餘愛好。我如何運行查詢來查找1和其他用戶之間的相似性,而不必先檢索用戶,然後用他的愛好運行新的查詢?如何使用存儲文檔中的屬性運行查詢?
比方說,我們有一個包含以下字段的文檔索引:uid和業餘愛好。我如何運行查詢來查找1和其他用戶之間的相似性,而不必先檢索用戶,然後用他的愛好運行新的查詢?如何使用存儲文檔中的屬性運行查詢?
您可以使用more like this查詢並要求ES檢索與給定文檔類似的文檔(例如,使用uid=1
的用戶)(而不必先檢索該文檔)。
因此,在like
陣列中,您只需提供對需要用作「更多像這樣」查詢(可以提供多個文檔以及逐字愛好字符串)的參考的文檔的參考。 ES將檢索該文檔,檢查hobbies
字段,並對所有其他文檔執行「更像此愛好」查詢。
POST /users/user/_search
{
"query": {
"more_like_this" : {
"fields" : ["hobbies"],
"like" : [
{
"_index" : "users",
"_type" : "user",
"_id" : "1" <---- fill in the UID of the user here
}
]
}
}
}