Скромный движок поиска, кто пробовал написать

Segey
На сайте с 23.08.2005
Offline
404
850

Интересно спросить тех, кто сам реализовывал свои движки поиска на сайте. Какими метода пользовались в первую очередь? Т.е. поиск по ключевым словам, поиск по заголовкам, тексту вместе и по отдельности.

Но немогу придумать хотябы один-два фактора, несложных по реализации т.к. это всетаки не wiki, но при этом эфектиные. Запросы происходят в реальном времени в базу, поэтому ничем нагружать тоже нехочется. Но вот на двух факторах я сел. Отпадают факторы: время, уникальность материала, авторитетность сторонних ссылок (возможно можно учитывать внутренние, но опять же это нужно писать бота + отдельная база, что пока проблемно).

Пока подумываю о морфологии, но мне кажется это будет не так просто сделать :confused: У кого есть наработки в таком плане, поделитесь :) Интересно что-то из разряда "дешево и сердито" на первое время, потом я уже поизгаляюсь над ним :) Сейчас с учетом заголовков, текста и мета получается часто несовсем кореекто т.к. в одном случае много чего не ищется, а вдругом море лишнего, я говорю про поиск\не поиск по тексту :(

Да и вообще интересная тема по моему :smoke:

Еще, чтобы точно определится: поиск только по своему сайту, небольшая база 3000 записей (это где ищем) будет подрастать, но поиск нужен т.к. довольно проблематично найти что-то неконкретное.

Brexit - уже совсем рядом. (https://about-this-model.blogspot.com/2019/03/brexit.html)
F
На сайте с 22.12.2005
Offline
48
#1

Видел хороший скрипт на codenet.ru. Он периодически запускается, делает индексный файл (убирает стоп-слова, повторения). Морфология там не учитывается.

Наслаждение жизнью - это искусство
Segey
На сайте с 23.08.2005
Offline
404
#2

Flame,

Скрипты-то я и сам видел, много их.

F
На сайте с 22.12.2005
Offline
48
#3

Я и сам пробовал написать. Пытался реализовывать поиск по ключевым словам и заголовкам файлов. Вместо базы использовал текстовые файлы.

Segey
На сайте с 23.08.2005
Offline
404
#4
Flame:
Пытался реализовывать поиск по ключевым словам и заголовкам файлов.

У меня поиск пока через LIKE по базе и разные LIKE варьируются в зависимости от того, где указано искать. А как осуществлялся поиск по файлам? Т.е. как обрабатывал текст, это мне кажется довольно ресурсоемко, если много файлов?

F
На сайте с 22.12.2005
Offline
48
#5

Да ресурсоемко, но файлов было немного. Я тоже использовал '%LIKE%'. При добавлении нового файла составляется список слов, по которым следут производить поиск.

sun
На сайте с 22.10.2005
Offline
81
sun
#6

В Mysql есть способ

SELECT

MATCH (t.title, t.text) AGAINST('Ваша фраза') AS score...

...MATCH (t.title, t.text) AGAINST ('Ваша фраза')...

...ORDER BY

score desc...

Выбирает все слова наиболее подходящие к поисковой фразе + сортирум.

Почитайте мануал там все подробно написано, и бд сильно не нагружает и Mysql формирует список стоп слов по определенному алгоритму.

devmen.com (http://devmen.com/)
A
На сайте с 05.11.2005
Offline
111
#7

Начиная с 3.23.23

http://www.botik.ru/~rldp/mysql/mysqlcli/glava09.htm

глава 9.4

sun, спасибо!

psylosss
На сайте с 23.12.2005
Offline
126
#8

В дополнении к сказанному sun: перед этим лучше сделать полнотекстовый индекс по полям title,text

Веб-разработка. Сложные проекты. Проектирование. Проект-менеджмент. Стартапы.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий