@KoRNeT46RuS

Почему Sphinx показывает ошибку "unknown local index'?

source tasks : common
{
    sql_query = \
        SELECT \
            t.tasks_id, \
            t.tasks_id AS task_id, \
            t.message AS message \
        FROM \
            tasks AS t \

    sql_field_string = task_id
    sql_field_string = message
}


Запрос через метод
$sphinx->Query('добро', 'message');

По идее же sql_field создает как поле, так и индекс. Почему он ругается? Как исправить?
  • Вопрос задан
  • 274 просмотра
Решения вопроса 2
tumbler
@tumbler
бекенд-разработчик на python
source - это откуда и как индексировать индекс. А еще нужно сам индекс определить.
Ответ написан
ManticoreSearch
@ManticoreSearch
sql_field создает как поле, так и индекс


`sql_field_string` определяет тип колонки как и полнотекстовое поле (field) и строковый атрибут (string). Само по себе определение типа поля не создаёт индекс. Директива `source`, в которой прописывается `sql_field_string` тоже не создаёт индекс. Простой индекс создаётся через директиву `index`, в которой определяется один или несколько `source`'ов, из которых будет строиться индекс. Затем индекс индексируется с помощью утилиты `indexer`.

$sphinx->Query('добро', 'message');


message в данном случае - это имя индекса, а не поля. Отсюда и ошибка - `unknown local index 'message'`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы