Sphinx неполнотекстовый поиск, только целочисленный поиск

У меня есть несколько таблиц, которые буквально содержат только целые числа, без «слов», и по какой-то причине Sphinx не может хранить эти данные в своей библиотеке. Просто возвращает ошибки "0 байт" для этих индексов.

Можно ли сделать это? Если да, то как? Ниже приведен пример из моего Sphinx.conf для того, который не работает.

source track
{
 type     = mysql

 sql_host    = host
 sql_user    = user
 sql_pass    = pass
 sql_db     = db
 sql_port    = port

 sql_query    = SELECT id, user, time FROM track;

 sql_attr_uint   = user
 sql_attr_uint   = time

 sql_query_info   = SELECT * FROM track WHERE id=$id
}

index track
{
 source     = track
 path     = /var/lib/sphinx/track
 docinfo     = extern
 charset_type   = utf-8
 min_prefix_len   = 1
 enable_star    = 1
}

person James    schedule 29.05.2010    source источник


Ответы (2)


Вы можете это сделать, но у sphinx есть нечетная ошибка, когда вы должны вернуть в запросе больше записей, чем у вас есть атрибутов. Если вы измените свой SQL на:

 sql_query    = SELECT id AS docId, id, user, time FROM track;

Это должно сработать. Я видел что-то подобное и не уверен, какова «официальная» причина, но обман столбца id, похоже, сработал.

person Ian    schedule 14.06.2010

Прежде чем найти "как?" вопрос "почему?"

type = mysql Вы используете Mysql, индекс mysql очень хорош для этой индексации.

person Moosh    schedule 05.10.2010