Страница 1 из 1

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

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

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

Добавлено: 2017.01.11, 22:23
rak
1. обозначить поле как полнотекстовое - sql_field_string, но это в теории, возможно с настройками поиграться придется. или же и при индексации и при поиске удалять нули из начала строки, и сравнивать как int аттрибут
2. сфинкс - он для быстрого поиска и фильтрации, а чтобы возвращать другие атрибуты - нужно дергать бд(по id документа) и брать их оттуда. можно конечно все эти данные запихнуть в индекс, но толку от этого не будет, только индекс разростется

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

Добавлено: 2017.01.11, 23:20
KEFIR4UK
Спасибо за ответ.
В настройка ставил sql_field_string = code_1c. Не работает. По поводу второго варианта - тоже мысль такая пришла. Проблема в том что не могу найти способ как это реализовать. Буду признателен за ссылочку на такой материал если он есть)

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

Добавлено: 2017.01.11, 23:47
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 - это документы, которые были найдены сфинксом

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

Добавлено: 2017.01.12, 00:30
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 - это документы, которые были найдены сфинксом
Проблема в том что страшно туплю, спасибо)