我正在将业务添加到ElasticSearch中。有些是地理位置(lon、lat坐标),有些是在线业务(没有坐标)。
GET /organizations/_search
{
"query": {
"bool" : {
"must_not": {
"exists": {
"field": "geocoords"
}
},
"filter" : {
"geo_distance" : {
"distance" : "200km",
"geocoords" : {
"lon": -73.57,
"lat": 45.45
}
}
}
}
}
}
{
"took" : 5,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 0,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
}
}
这是我掌握的数据:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "organizations",
"_type" : "_doc",
"_id" : "2",
"_score" : 1.0,
"_source" : {
"is_active" : true,
"name": "Compagny Inc.",
"geocoords" : {
"lon" : -73.5761003,
"lat" : 45.4560316
}
}
}
]
}
}
有什么建议吗?谢谢你。
当前查询是互斥的--首先筛选出有效的coord,然后执行径向搜索。
相反,您可能需要一个逻辑OR--要么在半径中,要么根本不需要COORD:
GET organizations/_search
{
"query": {
"bool": {
"should": [
{
"bool": {
"filter": {
"geo_distance": {
"distance": "200km",
"geocoords": {
"lon": -73.57,
"lat": 45.45
}
}
}
}
},
{
"bool": {
"must_not": [
{
"exists": {
"field": "geocoords"
}
}
]
}
}
]
}
}
}
问题内容: 假设我要按第10到20个百分点内的某个字段过滤文档。我想知道是否可以通过一些简单的查询(例如)进行查询。 说我有这些文件: 我需要按(升序) 从前10位到第10位进行过滤,然后按降序对结果进行排序,然后进行分页(如第2页,第10页)每页的项目)。 想到的一种解决方案是: 获取文件总数。 将文档按排序,取对应的限制 写最终查询,像 但是缺点也很明显: 如果我们谈论的是亚秒级延迟,则似乎效
我在Web API项目中使用NEST时遇到了一个问题,因为它是按Geo距离排序的。我有: 与Elasticsearch v5.1.1服务器(工作良好) 简单。安装了NEST v5.0.1的NET Web Api应用程序(基本的CRUD和搜索操作运行良好) 昨天,我决定实施地理距离排序,但所有可能的解决方案都导致我在搜索/排序请求中出现此异常: 从POST:/activities/activity/
本文向大家介绍C ++中的按位筛选,包括了C ++中的按位筛选的使用技巧和注意事项,需要的朋友参考一下 在这个问题中,给我们一个数字N。我们的任务是使用按位筛选找到所有小于N的素数。 按位筛是Eratosthenes筛的优化版本,用于查找所有小于给定数的素数。 让我们举个例子来了解这个问题, 输入-N = 25 输出-2 3 5 7 11 13 17 19 23 按位筛子的工作方式与普通筛子相同。
我正在尝试按位置displayName筛选所有事件。由于location是一个复杂的属性,displayName是嵌套的,因此我需要有关如何执行此操作的帮助。我试过以下方法,但都没有成功。 https://graph.microsoft.com/v1.0/me/events?$expand=位置($filter=displayName eq‘东会议室’) https://graph.microso
null 我也尝试使用scripted_field,但是脚本字段似乎是在最后一个阶段计算的,在查询过程中不可用。 我也有一个按照相同逻辑进行排序的方法(根据给定仓库中库存的总和对产品进行排序),它像一个魅力一样工作: 但我也找不到访问此排序值的方法:(
好吧,这一个对你们中的一个超级棒的弹性搜索专家来说可能不会太难。我得到了这个嵌套查询,我希望嵌套查询在一个非嵌套字段(状态)上进行过滤。我不知道把过滤器放在哪里。我试着把它放在一个查询中(如下),但没有给出正确的结果。你能帮我吗?