IndexTank:如何在没有查询字符串的情况下进行查询,仅地理位置

发布于 2024-11-03 12:59:20 字数 416 浏览 0 评论 0原文

我知道如何使用查询字符串查询 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苏别ゝ 2024-11-10 12:59:20

如果要获取距某个点一定距离内的所有文档,则需要发出匹配所有文档的查询,并在计算距离的评分函数上使用函数过滤器。

例如,如果您的所有文档都有一个值为“all”的“match”字段,您可以搜索:

  results = index.search(Query.forString("match:all")
                    .withScoringFunction(5)
                    .withQueryVariable(0, latitude)
                    .withQueryVariable(1, longitude)
                    .withFunctionFilter(5, 0, 10));

这将获取(纬度、经度)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:

  results = index.search(Query.forString("match:all")
                    .withScoringFunction(5)
                    .withQueryVariable(0, latitude)
                    .withQueryVariable(1, longitude)
                    .withFunctionFilter(5, 0, 10));

This would get all documents within 10 miles of (lat,long).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文