bubblegum
Новичок
Расширенный поиск с fulltext index
В mySql есть функция полнотекстового поиска с помощью конструкции
where match(..список проиндексированных полей) against
('$search_string'), при этом скорость поиска намного выше чем при
where .. like '%%$search_string%%'.
В мануале mySql сказано, что происходит поиск по индексу и результат
сортируется по релевантности запроса.
При вводе строки поиска "красный синий" выводиятся строки, содержащие
"красный" или "синий", первыми идут строки, содержащие оба эти слова,
то есть автоматически происходит поиск по "или", по другому говоря -
"по одному из слов"
Требуется реализовать еще поиск "по всем словам" ("и"), по содержанию
строки, и "исключая слова" ("не")
По "и" еще реализовать можно, распарсиваем строку поиска и получаем
запрос типа where match(..) against (word1) and match(..) against
(word1) and ..
По "не" тоже наверное можно как-то извернуться...
А вот по вхождению строки - mySql упорно ищет по отдельным словам,
содержащимся в строке поиска и находит строки, содержащие хотя бы одно
из слов.
Профи, помогите плз, кто с таким сталкивался !
В mySql есть функция полнотекстового поиска с помощью конструкции
where match(..список проиндексированных полей) against
('$search_string'), при этом скорость поиска намного выше чем при
where .. like '%%$search_string%%'.
В мануале mySql сказано, что происходит поиск по индексу и результат
сортируется по релевантности запроса.
При вводе строки поиска "красный синий" выводиятся строки, содержащие
"красный" или "синий", первыми идут строки, содержащие оба эти слова,
то есть автоматически происходит поиск по "или", по другому говоря -
"по одному из слов"
Требуется реализовать еще поиск "по всем словам" ("и"), по содержанию
строки, и "исключая слова" ("не")
По "и" еще реализовать можно, распарсиваем строку поиска и получаем
запрос типа where match(..) against (word1) and match(..) against
(word1) and ..
По "не" тоже наверное можно как-то извернуться...
А вот по вхождению строки - mySql упорно ищет по отдельным словам,
содержащимся в строке поиска и находит строки, содержащие хотя бы одно
из слов.
Профи, помогите плз, кто с таким сталкивался !