Как получить 64-битные идентификаторы для работы с поисковым сервером Sphinx 0.9.9 в Mac OS?
Некоторое время я успешно использовал Sphinx, но просто столкнулся с проблемой, которая запутала меня... Я поддержал Sphinx запросами mysql и недавно перенес стратегию первичного ключа таким образом, что у меня были идентификаторы таблиц индексирование становится больше 32 бит (в MYSQL они bigint без знака). Сфинкс получал хиты индекса, но возвращал мне бессмысленные идентификаторы (предположительно, 32 бита идентификатора, возвращаемого запросами или что-то в этом роде).
Я изучил его и понял, что не передал флаг --enable-id64 в./configure. Нет проблем, полностью перестроил sphinx с этим флагом (кстати, у меня 0.9.9). Без изменений, хотя! Я все еще испытываю ту же проблему. Мой тестовый сценарий довольно прост:
MySQL:
create table test_sphinx(id bigint unsigned primary key, text varchar(200));
insert into test_sphinx values (10102374447, 'Girls Love Justin Beiber');
insert into test_sphinx values (500, 'But Small Ids are working?');
Сфинкс конф:
source new_proof
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = password
sql_db = testdb
sql_port =
sql_query_pre =
sql_query_post =
sql_query = SELECT id, text FROM test_sphinx
sql_query_info = SELECT * FROM `test_sphinx` WHERE `id` = $id
sql_attr_bigint = id
}
index new_proof
{
source = new_proof
path = /usr/local/sphinx/var/data/new_proof
docinfo = extern
morphology = none
stopwords =
min_word_len = 1
charset_type = utf-8
enable_star = 1
min_prefix_len = 0
min_infix_len = 2
}
Поиск:
→ search -i new_proof beiber
Sphinx 0.9.9-release (r2117)
...
index 'new_proof': query 'beiber ': returned 1 matches of 1 total in 0.000 sec
displaying matches:
1. document=1512439855, weight=1
(document not found in db)
words:
1. 'beiber': 1 documents, 1 hits
→ search -i new_proof small
Sphinx 0.9.9-release (r2117)
...
index 'new_proof': query 'small ': returned 1 matches of 1 total in 0.000 sec
displaying matches:
1. document=500, weight=1
id=500
text=But Small Ids are working?
words:
1. 'small': 1 documents, 1 hits
У кого-нибудь есть представление о том, почему это сломано?
Спасибо заранее -Phill
РЕДАКТИРОВАТЬ
Ах. Ладно, получил дальше. Я не упомянул, что проводил все это тестирование на Mac OS. Похоже, это может быть моей проблемой. Я только что скомпилировал в 64-битной версии под Linux, и он отлично работает.. Есть также подсказка, когда я запускаю команды командной строки Sphinx, которые не принимала компиляция:
Мой Mac (сломанный)
Sphinx 0.9.9-release (r2117)
Linux box (рабочий)
Sphinx 0.9.9-id64-release (r2117)
Итак, я думаю, что новый вопрос в том, что нужно для компиляции 64-битных ключей на Mac OS?