Sphinx + Group By возвращает «index rt: атрибут group-by не найден» - PullRequest
0 голосов
/ 03 марта 2012

Я пытаюсь создать поисковую систему для своего сайта, используя последнюю версию 2.0.4 sphinx. Индексация и отправка запросов пока работает. Но я также хочу отобразить некоторые аспекты, поэтому я сделаю один и тот же запрос дважды. Первый для обычных результатов поиска, а второй - для группировки по определенному атрибуту. Мой sphinx.conf выглядит так:

{
    ...

    sql_query       = \
        SELECT aID AS id, aFullname AS text, 'artist' AS type \
        FROM artist

    sql_attr_string     = type

    sql_ranged_throttle = 0
    sql_query_info      = SELECT * FROM artist WHERE aID=$id
}


source src2
{
    ...

    sql_query       = \
        SELECT album_id AS id, album_name AS text, 'album' AS type \
        FROM albums

    sql_attr_string     = type

    sql_ranged_throttle = 0
    sql_query_info      = SELECT * FROM albums WHERE album_id=$id
}


index rt
{
    type              = rt
    path              = /var/data/rt

    rt_field          = text

        rt_attr_uint      = id
    rt_attr_string    = type
}

Но когда я использую второй запрос с

$cl->SetGroupBy('type', SPH_GROUPBY_ATTR, '@count desc' );

Я получаю эту ошибку:

WARNING: index rt: group-by attribute 'type' not found

Может кто-нибудь заметить ошибку в моей конфигурации?

1 Ответ

0 голосов
/ 04 марта 2012

В общей сложности

rt_attr_uint      = id

выглядит странно.Не уверен, что вы можете иметь собственный атрибут с именем id.Это имя document_id - которое обрабатывается специально.Попробуйте переименовать это.

...