【发布时间】:2020-11-18 22:04:05
【问题描述】:
我想根据结果主查询的字段搜索文档
例如。假设我的文档只包含两个字段
- 用户ID
- 地理位置
我需要一个查询来返回特定用户 ID 的文档和他的地理点周围的用户文档 我没有找到在一个查询中进行此操作的方法,现在我进行了 2 个查询(一个用于检索用户的文档,另一个用于检索他的地理点周围的用户)
谢谢
更新 1
第一个查询:
GET users\_search
{
"query": {
"term": {
"userId": "10250000075114"
}
}
}
然后我对它周围的用户进行第二次查询
GET users\_search
{
"query": {
"function_score": {
"query": {
"bool": {
"must_not": {
"term": {
"userId": "10250000075114"
}
}
}
},
"functions": [
{
"gauss": {
"rank": {
"origin": "0.8",
"offset": "0.05",
"scale": "0.1"
}
}
},
{
"gauss": {
"startPoint": {
"origin": "32.547484,34.95457",
"offset": "5km",
"scale": "10km"
}
}
},
{
"script_score": {
"script": "_score"
}
}
]
}
}
}
第二个查询中的startPoint是第一个查询的startPoint结果
【问题讨论】:
-
您能否分享一些示例索引数据、预期的搜索结果以及您尝试过的查询。
-
@Bhavya 我用查询更新了我的问题
标签: elasticsearch