|
|
|
Оптимизация поискового запроса
|
|||
|---|---|---|---|
|
#18+
Приветствую! Подскажите пожалуйста как можно оптимизировать запроса поиска на сайте. На сайте имеется продукция с различным обозначением/наименованием, название товаров может состоять из одного слова, а может состоять из нескольких + аббревиатуры различные. Позиций примерно 80 000, продолжает расти, но время для поиска неоправданно большое... Пример поисковой строки ВП 13х14 или Арматура 21А 34 С Получается, что если ввести Арматура 34 , то вывестись должна и Арматура 21А 34 С , или если ввести 21А С, то Арматура так же должна попасть в результат выборки. В настоящий момент не придумал ничего лучше, чем разбивать строку по пробелу, генерировать ВСЕ возможные варианты сочетаний частей и подставлять все условия через LIKE например: ввели в строку поиска чайник электро вамп , на выходе получим что-то типа: Код: sql 1. Проблема еще усложняется тем фактом, что в названии могут быть символы *, / - и т.д. Подскажите пожалуйста, как можно это все оптимизировать. Задумывался даже о регулярках, и даже реализовывал вариант с ними, но эффекта никакого не было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 14:55 |
|
||
|
Оптимизация поискового запроса
|
|||
|---|---|---|---|
|
#18+
Himu, такая строка чайник электро вамп должна приводиться к к такому Код: sql 1. что позволит для поиска использовать набор чай эл вам и надо учесть что name зарезервированное слово ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 15:44 |
|
||
|
Оптимизация поискового запроса
|
|||
|---|---|---|---|
|
#18+
Рассмотрите варианты полнотекста и внешнего искателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 17:41 |
|
||
|
Оптимизация поискового запроса
|
|||
|---|---|---|---|
|
#18+
Посмотрите в сторону сфинкса - http://sphinxsearch.com/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2016, 23:30 |
|
||
|
Оптимизация поискового запроса
|
|||
|---|---|---|---|
|
#18+
HimuПриветствую! Подскажите пожалуйста как можно оптимизировать запроса поиска на сайте. На сайте имеется продукция с различным обозначением/наименованием, название товаров может состоять из одного слова, а может состоять из нескольких + аббревиатуры различные. Позиций примерно 80 000, продолжает расти, но время для поиска неоправданно большое... Пример поисковой строки ВП 13х14 или Арматура 21А 34 С Получается, что если ввести Арматура 34 , то вывестись должна и Арматура 21А 34 С , или если ввести 21А С, то Арматура так же должна попасть в результат выборки. В настоящий момент не придумал ничего лучше, чем разбивать строку по пробелу, генерировать ВСЕ возможные варианты сочетаний частей и подставлять все условия через LIKE например: ввели в строку поиска чайник электро вамп , на выходе получим что-то типа: Код: sql 1. Проблема еще усложняется тем фактом, что в названии могут быть символы *, / - и т.д. Подскажите пожалуйста, как можно это все оптимизировать. Задумывался даже о регулярках, и даже реализовывал вариант с ними, но эффекта никакого не было Создать индекс на поле name. > Проблема еще усложняется тем фактом, что в названии могут быть символы *, / - и т.д. Это не оптимизируется. 100 тысяч уже достаточно большая таблица, так что искать по ней без индекса будет сложно. Также можно подумать о полнотекстовом индексе и поиске по этому полю с помощью него. Поскольку вопрос поставлен очень расплывчато, больше ничего не сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 09:01 |
|
||
|
Оптимизация поискового запроса
|
|||
|---|---|---|---|
|
#18+
вадяHimu, такая строка чайник электро вамп должна приводиться к к такому Код: sql 1. что позволит для поиска использовать набор чай эл вам и надо учесть что name зарезервированное слово Но не позволит использовать индекс. А если так, то совет бесполезен. Автору нужно разобраться в первую очередь с постановкой задачи и решить, что же ему нужно искать, и как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2016, 09:04 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1831817]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
180ms |
get topic data: |
6ms |
get first new msg: |
4ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 473ms |

| 0 / 0 |
