IndexTank:如何在没有查询字符串的情况下进行查询,仅地理位置
我知道如何使用查询字符串查询 IndexTank,无论是否有地理位置。但是,如何在没有查询字符串且只有地理位置的情况下进行查询呢?
index.addFunction(5, "-miles(d[0], d[1], q[0], q[1])");
results = index.search(Query.forString(queryString)
.withScoringFunction(5)
.withQueryVariable(0, latitude)
.withQueryVariable(1, longitude));
如果 queryString 为 null 或空字符串,则不起作用。
谢谢。
I know how to query IndexTank with a query string, with or without geolocation. But how do you query with no query string and only geolocation?
index.addFunction(5, "-miles(d[0], d[1], q[0], q[1])");
results = index.search(Query.forString(queryString)
.withScoringFunction(5)
.withQueryVariable(0, latitude)
.withQueryVariable(1, longitude));
If the queryString is null or an empty string it doesn't work.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果要获取距某个点一定距离内的所有文档,则需要发出匹配所有文档的查询,并在计算距离的评分函数上使用函数过滤器。
例如,如果您的所有文档都有一个值为“all”的“match”字段,您可以搜索:
这将获取(纬度、经度)10 英里范围内的所有文档。
If you want to fetch all documents that are within a certain distance from a point, you need to issue a query that matches all documents and use a function filter on the scoring function that calculates the distance.
For example, if all your documents have a "match" field with the value "all", you can search for:
This would get all documents within 10 miles of (lat,long).