Буду очень признателен, если кто-нибудь посоветует мне здесь, пожалуйста.Я новичок в sphinx и установил его на свой сервер с работающим тестовым примером базы данных / индекса.
Сейчас я нахожусь в положении, когда мне нужно изменить настройку в файле sphinx.conf и создатьновый индекс и т. д.
Структура моей таблицы следующая:
Name: listings_dvla
===================
id -> Unsigned INT, primary key
characters -> varchar(15) FULLTEXT indexed
active -> bool
price -> decimal(10,2)
Эта таблица содержит 30 000 000 строк, и до того, как я использовал mysql для запроса к базе данных аналогичных номерных знаков, используя следующий запрос (при условии, что я искал "kev"):
SELECT characters, price
FROM listings_dvla
WHERE active=TRUE
AND characters REGEXP '^[a-z0-9]*[(k)]+[a-z0-9]?[(e)(3)]+[a-z0-9]?[(v)]+[a-z0-9]*'
ORDER BY characters ASC
LIMIT 0, 12
Регулярное выражение говорит: "найди мне K, затем E или 3, а затем V". Этот запрос может занять более минуты в зависимости отпоиск, мне нужно, чтобы он был меньше нескольких секунд.
Итак, мои вопросы:
- Сфинкс создан для удовлетворения этого требования?
- Может ли Сфинкс регулярновыражения, которые будут создаваться во время выполнения в зависимости от ввода пользователя
- Как мне вообще начать это делать?