尝试通过查询字符串在索引中搜索,通过数值字段在特定半径内排序。
Elastic文档中没有参考,所以我可能必须在应用程序级别而不是数据库级别解决它。但在发明轮子之前,我想确保我读对了。
假设以下文档结构(Map):
* Title: String
* Description: String
* Rating: Numeric.
* Location: { Lat, Long}
我想用以下约束查询此文档:
- 方圆20公里内
- 按标题和描述搜索(fuzzi)。
- 结果应按评级排序。
- 如果结果小于X(假设为100),则执行相同操作,但将半径增加到50km。
如果上面的内容在数据库级别上不可行,我将在应用程序级别上实现。但是,为了做到这一点,我仍然需要能够查询1(即在特定半径内搜索X文本并按评级排序)。
总结如下:
1. Can I do the entire process in Elastic? If so, how?
2. Assuming I can't (which I suspect this is the situation), how can I query the above item 1 ?
Thanks:)
1条答案
按热度按时间voj3qocg1#
您可以从测试geo queries开始。在下面的例子中,我使用了地理距离。
问题1 -半径20公里内
问题二:
使用新距离执行新查询。