假设我们有一个包含以下字段的文档索引:uid 和 hobbies。如何运行查询以查找 1 和其他用户之间的相似性,而不必先检索用户,然后再根据他的爱好运行新查询?
问问题
114 次
1 回答
2
您可以使用更像此查询的方式并要求 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
}
]
}
}
}
于 2016-11-21T15:31:23.783 回答