Добрый день.
Сегодна начал знакомится этой штукой - установил, настроил, работает. Использую это расширение.
Но, мне нужно немного более тонко настроит поиск.
У меня в таблице товара есть колонка с его кодом. Код в таком формате 00000006309 - то есть сплошные нолики, и потом уже другие цифры.
Нужно что бы искало товар когда пользователь вводит и такой номер -00000006309 и такой 6309(без нулей). Как это сделать?
Да, еще вопрос, может немного глуповат, но спрошу что бы убедится - может ли sphinx вместе с идентификатором возвращать и другие его атрибуты (название, картинка и тд - то есть то что я пишу в селекте простого sql) ?
Продвинутая настройка sphinx
Re: Продвинутая настройка sphinx
1. обозначить поле как полнотекстовое - sql_field_string, но это в теории, возможно с настройками поиграться придется. или же и при индексации и при поиске удалять нули из начала строки, и сравнивать как int аттрибут
2. сфинкс - он для быстрого поиска и фильтрации, а чтобы возвращать другие атрибуты - нужно дергать бд(по id документа) и брать их оттуда. можно конечно все эти данные запихнуть в индекс, но толку от этого не будет, только индекс разростется
2. сфинкс - он для быстрого поиска и фильтрации, а чтобы возвращать другие атрибуты - нужно дергать бд(по id документа) и брать их оттуда. можно конечно все эти данные запихнуть в индекс, но толку от этого не будет, только индекс разростется
Re: Продвинутая настройка sphinx
Спасибо за ответ.
В настройка ставил sql_field_string = code_1c. Не работает. По поводу второго варианта - тоже мысль такая пришла. Проблема в том что не могу найти способ как это реализовать. Буду признателен за ссылочку на такой материал если он есть)
В настройка ставил sql_field_string = code_1c. Не работает. По поводу второго варианта - тоже мысль такая пришла. Проблема в том что не могу найти способ как это реализовать. Буду признателен за ссылочку на такой материал если он есть)
Re: Продвинутая настройка sphinx
значит нужно использовать второй вариант, с удалением нулей при индексации и при поиске(через ltrim)
так а в чем именно проблема? все то же самое, что и с обычным sql, только после поиска сфинксом делаем ещё 1 запрос select * from item where id in(1,2.3.4.5), где 1,2.3.4.5 - это документы, которые были найдены сфинксом