sphinx/coreseek 怎么做位置搜索

发布于 2022-09-01 21:41:04 字数 770 浏览 21 评论 0

配置文件如下

    sql_query = select id, id as restaurant_id, restaurant_name as name, phone, price,  \
        city_id, address, IF(`longitude`,`longitude`,0.0) as longitude, IF(`latitude`, `latitude`, 0.0) as latitude \
        from `...` \
    ...
    ...
        sql_attr_float     = longitude
        sql_attr_float     = latitude

执行结果如下:

mysql> SELECT *,GEODIST(31.22650528,121.49153900,latitude,longitude) as distance FROM `restaurant_index` WHERE distance < 10000 ORDER BY `id` ASC LIMIT 0, 10 \G
ERROR 1064 (42000): index restaurant_index: unsupported filter type 'intrange' on float column

版本:Coreseek Fulltext 4.1 [ Sphinx 2.0.2-dev (r2922)]

哪里不对呢? 或者说sphinx做位置搜索应该怎么做.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

挽心 2022-09-08 21:41:04

问题作废,貌似是版本的问题.
我用原生的sphinx 2.2.8测试了一把, 不报错.
顺便问下,coreseek是不是停止开发了? 那么现在的中文全文检索用什么?

Server version: 2.2.8-id64-release (rel22-r4942)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT *,GEODIST(31.22650528,121.49153900,latitude,longitude) as distance FROM `restaurant_index` WHERE distance < 10000 ORDER BY `id` ASC LIMIT 0, 10 \G
Empty set (0.05 sec)

尝试了一下这么做,把<1000修改为<=1000.0 能够正常查询了.

mysql> SELECT *,GEODIST(31.22650528,121.49153900,latitude,longitude) as distance FROM `restaurant_index` WHERE distance <= 1000.0 ORDER BY `id` ASC LIMIT 0, 10 \G
*************************** 1. row ***************************
       id: 1
     name: 南翔馒头店(豫园路店)
    phone: 021-63554206
    price: 40
  city_id: 803
  address: 上海市黄浦区豫园路85号近旧校场路九曲桥旁
longitude: 121.491539
 latitude: 31.226505
 distance: 0.000000
彼岸花似海 2022-09-08 21:41:04

用mysql数据量稍起来就很慢了,用mongo吧,2d索引,非常方便,效率也还好,百万级都不慢

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