X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Неточный поиск в БД
FordogeN
FordogeN
Topic Starter сообщение 11.7.2009, 23:56; Ответить: FordogeN
Сообщение #1


Не знаю, может это уже PHP, а не SQL, но задача такова:
Нужно чтоб при запросе "купить слона в москве не дорого" выдавало результаты по фразам "купить слона не дорого" или "не дорогой слон".
Буду очень благодарен за решение выше указанной задачи.


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
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


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 12.7.2009, 0:51; Ответить: FordogeN
Сообщение #3


Спасиб за статью))

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) 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


 



RSS Текстовая версия Сейчас: 26.4.2024, 0:41
Дизайн