elasticsearch - 有条件的地理位置搜索
问题描述
我正在尝试使用 Algolia 进行求职。作业可以有一个物理位置(带有地理坐标),或者被标记为“远程”。
我可以使用aroundLatLng
和aroundRadius
搜索地理围栏内的工作。我可以过滤remote:true
远程工作。但是如何将这两个合并到一个搜索中?
例如,以下将不返回任何结果,因为当然,工作不会“远程”并且有物理位置,但据我所知,没有办法使地理围栏有条件。
{
"filters": "remote:true",
"aroundLatLng": "37.7860211,-122.4029726",
"aroundRadius": "160000"
}
我曾考虑过运行多个搜索,但我没有看到任何类型的结果相关性分数可以让我以有意义的顺序合并它们。
我的地理围栏不需要使用半径,我可以做这样的事情,但当然 Algolia 不支持 AND 的 OR。有没有办法像这样格式化查询?
{
"filters": "remote:true OR (lat > 36 AND lat < 38 AND lng > -121 AND lng < -124)"
}
如果 Algolia 无法做到这一点,是否还有其他具有此功能的服务或选项?
解决方案
推荐阅读
- java - Docker 容器中的 Spring Boot 应用程序:无法打开 ServletContext 资源 [/WEB-INF/views/login.html]
- javascript - 选择框 全选/取消全选或选择一个选项 限制多个选项
- bash - 如何将参数从fastlane传递到shell文件
- python - 在 Excel 工作表中删除和替换 Pandas DataFrame
- spring-boot - 使用 keycloak 的安全微服务 Spring Boot 应用程序
- python - GridSearchCV - 应该使用哪些数据?
- json - 使用嵌套 JSON 作为数据 + BLoC 模式的 Flutter Post 请求
- python - 如果一个键具有一个或多个值,则 python 迭代字典值
- google-api - 无法在多个 Airflow GCP 连接范围上上传到 Google Drive
- javascript - 加载动画直到实际显示图像