如何 运行 使用存储文档中的属性进行查询?
How to run a query with the properties from a stored document?
假设我们有一个包含以下字段的文档索引:uid 和爱好。我如何 运行 一个查询来找到 1 和其他用户之间的相似之处,而不必先检索用户然后 运行 一个关于他的爱好的新查询?
您可以使用 more like this 查询并要求 ES 检索与给定文档类似的文档(例如 uid=1
的用户)(无需先检索该文档)。
所以在下面的 like
数组中,您只需给出对需要用作 "more like this" 查询参考的文档的引用(您可以提供多个文档,也可以逐字爱好字符串)。 ES 将检索该文档,检查 hobbies
字段并对所有其他文档执行 "more like this 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
}
]
}
}
}
假设我们有一个包含以下字段的文档索引:uid 和爱好。我如何 运行 一个查询来找到 1 和其他用户之间的相似之处,而不必先检索用户然后 运行 一个关于他的爱好的新查询?
您可以使用 more like this 查询并要求 ES 检索与给定文档类似的文档(例如 uid=1
的用户)(无需先检索该文档)。
所以在下面的 like
数组中,您只需给出对需要用作 "more like this" 查询参考的文档的引用(您可以提供多个文档,也可以逐字爱好字符串)。 ES 将检索该文档,检查 hobbies
字段并对所有其他文档执行 "more like this 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
}
]
}
}
}