Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Полнотекстовый поиск в MySQL. (https://javascript.ru/forum/server/18629-polnotekstovyjj-poisk-v-mysql.html)

nyols 08.07.2011 22:40

Полнотекстовый поиск в MySQL.
 
Добрый день, кто может посоветовать статьи (может книгу) про полнотекстовый поиск в MySQL и вообще про реализацию хорошего поиска. На самом сайте www.mysql.ru информации очень мало. Хочу подчеркнуть что меня так же интересует как вообще реализуется хороший поиск (как у гугла это получилось :) )

dmitriymar 08.07.2011 23:12

куда ещё более информации?там описан один вариант полностью-если ты не понял-значит знаний в языке мало ,а ман не причём.

другой вариант-на столбец внешний индекс. и искать строгое соответствие. как строгое полностью так и с регуляркой.-этот вариант будет быстрее.
а инфа по регуляркам mySQL это всего пару строк.
точно также индексы можно хранить в xml файле .и поиск соответствия там осуществлять.разница с базами в том ,что ты можешь всё на клиент в этом случае перенести .В случае серверной реализации базы могут быть быстрее файла в десятки раз-зависит от структуры базы
Ну и б.д клиентские HTML5
Вот тебе и вся книга по поиску:D

B@rmaley.e><e 08.07.2011 23:36

Посмотрите на Sphinx.

nyols 09.07.2011 17:06

Можете помочь составить запрос для поиска в 3-х таблицах ?
Для выборки из одной таблицы у меня идет такой запрос:
Код:

SELECT
  *,
  MATCH(title) AGAINST ('query' IN BOOLEAN MODE)*10 +
  MATCH(content) AGAINST ('query' IN BOOLEAN MODE)*7
  AS relev
FROM
  `news`
HAVING
  relev>0
ORDER BY
  relev
      DESC

А вот как можно подключить еще 2 таблицы имеющие такую же структуры как и news с названиями articles и posts.
Пытался делать через UNION (видел в нете пример) но он не работал как надо :(

dmitriymar 10.07.2011 14:30

а может проще mySql изучить чтоб не задавать подобные вопросы и саму разбираться? времени займёт не много-но багаж знаний будет более чем.

melky 10.07.2011 16:02

Цитата:

Сообщение от nyols (Сообщение 112561)
Пытался делать через UNION (видел в нете пример) но он не работал как надо :(

всё он делает как надо. просто не надо по примерам делать

0931454574 21.07.2011 12:01

А почему бы не воспользоваться API Google для поиска по сайту, если это нужно?

А если просто поиск , то скажу что лучший вариант это разбить весь текст на слова!!! У каждого слова ссылка на его место в записи , а потом вытягивать из этой записи весь текст + 10 символов слева и справа если нужно. Конечно экономия места отдыхает)


Часовой пояс GMT +3, время: 11:30.