Продвинутая настройка sphinx

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Продвинутая настройка sphinx

Сообщение KEFIR4UK »

Добрый день.
Сегодна начал знакомится этой штукой - установил, настроил, работает. Использую это расширение.
Но, мне нужно немного более тонко настроит поиск.
У меня в таблице товара есть колонка с его кодом. Код в таком формате 00000006309 - то есть сплошные нолики, и потом уже другие цифры.
Нужно что бы искало товар когда пользователь вводит и такой номер -00000006309 и такой 6309(без нулей). Как это сделать?
Да, еще вопрос, может немного глуповат, но спрошу что бы убедится - может ли sphinx вместе с идентификатором возвращать и другие его атрибуты (название, картинка и тд - то есть то что я пишу в селекте простого sql) ?
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Продвинутая настройка sphinx

Сообщение rak »

1. обозначить поле как полнотекстовое - sql_field_string, но это в теории, возможно с настройками поиграться придется. или же и при индексации и при поиске удалять нули из начала строки, и сравнивать как int аттрибут
2. сфинкс - он для быстрого поиска и фильтрации, а чтобы возвращать другие атрибуты - нужно дергать бд(по id документа) и брать их оттуда. можно конечно все эти данные запихнуть в индекс, но толку от этого не будет, только индекс разростется
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Re: Продвинутая настройка sphinx

Сообщение KEFIR4UK »

Спасибо за ответ.
В настройка ставил sql_field_string = code_1c. Не работает. По поводу второго варианта - тоже мысль такая пришла. Проблема в том что не могу найти способ как это реализовать. Буду признателен за ссылочку на такой материал если он есть)
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Продвинутая настройка sphinx

Сообщение rak »

KEFIR4UK писал(а): 2017.01.11, 23:20 В настройка ставил sql_field_string = code_1c.
значит нужно использовать второй вариант, с удалением нулей при индексации и при поиске(через ltrim)
KEFIR4UK писал(а): 2017.01.11, 23:20 По поводу второго варианта - тоже мысль такая пришла. Проблема в том что не могу найти способ как это реализовать. Буду признателен за ссылочку на такой материал если он есть)
так а в чем именно проблема? все то же самое, что и с обычным sql, только после поиска сфинксом делаем ещё 1 запрос select * from item where id in(1,2.3.4.5), где 1,2.3.4.5 - это документы, которые были найдены сфинксом
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Re: Продвинутая настройка sphinx

Сообщение KEFIR4UK »

rak писал(а): 2017.01.11, 23:47 так а в чем именно проблема? все то же самое, что и с обычным sql, только после поиска сфинксом делаем ещё 1 запрос select * from item where id in(1,2.3.4.5), где 1,2.3.4.5 - это документы, которые были найдены сфинксом
Проблема в том что страшно туплю, спасибо)
Ответить