@antonzz321
канапэхи

Поиск Sphinx. Ошибка при индексировании, почему не видит одно из полей таблицы?

Добрый день. Хочу сделать поиск с установкой фильтра. Беру простой пример: есть таблица постов - posts, в конфиге сфинкса пишу запрос sql_query = SELECT post_id, post_title, post_content, post_url FROM posts, затем используя api делаю поисковые запросы -тут все работает. Для фильтра в конфиге добавляю sql_attr_uint = post_id, и при использовании api в скрипте добавляю строку $this->sphinxsearch->setFilter('post_id', array(7)); Таким образом, в поисковой выдаче должен остаться 1 пост (проверил что без фильтра пост с id = 7 выводится). При запуске индексации в терминале пишет ошибку, что поле post_id не найдено: WARNING: attribute 'post_id;' not found . Подскажите в чем может быть проблема?
  • Вопрос задан
  • 421 просмотр
Пригласить эксперта
Ответы на вопрос 3
opium
@opium
Просто люблю качественно работать
Дайте таблицу конфиге сфинкса и его версию
Ответ написан
Скорее всего сфиксу нужно явно указать поле по кторому он создаст аттрибут

sql_query = SELECT 
             post_id AS 'post_id'
             ,post_title
              ,post_content
               ,post_url 
            FROM posts
Ответ написан
@antonzz321 Автор вопроса
канапэхи
Скрин конфига, также забыл сказать использую CodeIgniter, и для него библиотеку сфинкса, синтаксис тоже на скриншоте.
1ac0a70f0e58492dbc5247dfbcd17744.png
На скриншоте, где php код если закоментировать 9 строку, то результаты выводятся, иначе нет.
e60b274c1c9a402a99474580dfa2d317.png
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы