Помощник
|
Неточный поиск в БД |
FordogeN
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
12.7.2009, 0:28;
Ответить: ZiTosS
Сообщение
#2
|
|
FordogeN, с подстановкой окончаний и заменами это уже нужно писать целую библиотеку слов и их связку. Тут никак. А вот поиск с релевантностью это мы запросто.
В MySQL есть такое понятие "Полнотекстовый поиск". Он не требует применения шаблонов. Данный режим предоставляет широкие возможности поиска в тексте и выполняется гораздо быстрее поиска с использованием регулярных выражений благодаря специальному индексу FULLTEXT. Следует помнить, что индексация столбца, в том числе и индексом FULLTEXT, требует дополнительного объема памяти для хранения индексов, иногда превышающего объем основных данных в несколько раз, и приводит к замедлению операций вставки и удаления при помощи операторов INSERT и DELETE. Полнотекстовый поиск в СУБД MySQL на сегодня поддерживается только для таблиц типа MyISAM и столбцов типа CHAR, VARCHAR и TEXT. Для использования возможностей полнотекстового поиска необходимо проиндексировать текстовыестолбцы таблицы при помощи индекса FULLTEXT Вот пример создания таблицы с полями для полнотекстового поиска: CREATE TABLE table ( id INT(11) NOT NULL AUTO_INCREMENT, title VARCHAR(255) NOT NULL, text TEXT, PRIMARY KEY (id), FULLTEXT INDEX search (title, text) ) ENGINE=MyISAM; Для добавления индекса FULLTEXT в уже существующую таблицу предназначен оператор ALTER TABLE. Индекс FULLTEXT, как и любой другой индекс, создается при помощи спецификации ADD, за которой следует определение индекса. Пример: ALTER TABLE table ADD FULLTEXT search (title, text); Или так: CREATE FULLTEXT INDEX search ON table (title, text); ------------------------------------------------------------------------------ Полнотекстовый поиск выполняется с помощью констрнукции MATCH ( ... ) AGAINST ( ... ), которая помещается в конструкцию WHERE оператора SELECT. В круглых скобках после ключевого слова MATCH указываются имена столбцов, по которым производится поиск, а в скобках после AGAINST указывется фраза, которую необходимо найти. Слова состоящие менее чем из 4 символов отбрасываются, а так же слова встречающиеся как минимум в половине записей. Остальное читай здесь... Устал переписывать книжку Полнонекстовый поиск в MySQL |
|
|
FordogeN
|
Сообщение
#3
|
|
|
Спасиб за статью))
-------------------- |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Smmsearch.net - поиск самой дешевой накрутки в социальных сетях. | 0 | Professor7717 | 3295 | 13.8.2021, 19:53 автор: Professor7717 |
|
Поиск кодера в команду. PHP, Pyton. На постоянку. | 7 | getsend_mw | 2869 | 3.2.2021, 21:15 автор: getsend_mw |
|
Поиск копирайтера на игровую тематику Поиск копирайтера на игровую тематику |
4 | a1ex777 | 1655 | 2.10.2020, 16:01 автор: AndreyBozhenko |
|
SmmBox - поиск, аналитика и отложенная публикация в соцсетях. Официально! | 23 | smmbox | 11948 | 13.5.2020, 11:12 автор: smmbox |
|
Поиск, сбор информации, парсинг (недорого) Предлагаю услуги по поиску, сбору информации, парсингу и т.д. |
0 | Kabardin | 1352 | 11.3.2020, 14:59 автор: Kabardin |
Текстовая версия | Сейчас: 26.4.2024, 0:41 |