Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Настройка Sphinx, поиск по координатам (https://javascript.ru/forum/server/33963-nastrojjka-sphinx-poisk-po-koordinatam.html)

greatilya 15.12.2012 22:50

Настройка Sphinx, поиск по координатам
 
Добрый день!

Уже несколько дней пытаюсь разобраться со Sphinx`ом. Дело в том, что он не индексирует необходимые данные.

Имеется таблица с идентификаторами и координатами к которой я могу послать запрос вида:
Код:

SELECT `id`, RADIANS(`latitude`) AS `latitude`, RADIANS(`longitude`) AS `longitude` FROM `hotels2`
На картинке ниже, видно, что запрос отлично выполняется.


В конфиг сфинкса пишу следующее:
Код:

source geo
{
    type = mysql
    sql_host = localhost
    sql_user = пользователь
    sql_pass = пароль
    sql_db = база_данных
    sql_port = 3306

    # query after connect
    sql_query_pre = SET NAMES utf8
    sql_query_pre = SET SESSION query_cache_type=OFF

    # no sleep
    sql_ranged_throttle = 0
       
    # SQL in radians
    sql_query = SELECT `id`, RADIANS(`latitude`) AS `latitude`, RADIANS(`longitude`) AS `longitude` FROM `hotels2`

    # float fields
    sql_attr_float = latitude
    sql_attr_float = longitude
}

index geo
{
    source                  = geo
    path                    = /usr/home/www/sphinx/indexes/closest
    docinfo = extern
    mlock = 0
    min_word_len = 1
    charset_type = utf-8
}

# daemon
searchd
{
    compat_sphinxql_magics = 0
    # port
    listen = 9312

    # logs
    log = /usr/home/www/sphinx/log/searchd.log
    query_log = /usr/home/www/sphinx/log/query.log
    pid_file = /usr/home/www/sphinx/log/searchd.pid
}

После чего отправляю на индексацию командой indexer --config /usr/local/etc/sphinx.conf --all
Результат выполнения на картинке ниже:


Как видно из картинки, в индекс никаких данных не попадает (0.0 MB).

Если есть какие-то мысли/идеи/советы, то буду рад их услышать.

Спасибо.

greatilya 16.12.2012 18:01

Решение:
Код:

SELECT `id`, RADIANS(`latitude`) AS `latitude`, RADIANS(`longitude`) AS `longitude`, `id` AS `more_data` FROM `hotels2`


Часовой пояс GMT +3, время: 02:25.