Автор Тема: Сбор слов  (Прочитано 2780 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
Сбор слов
« : 11 Августа 2005, 12:47:40 »
Добрый день.

Я написал как то поиск по сайту через индексирование всего содержимого. Теперь решил его улучшить и вот в чем идея.

Часто когда пользователь ищет чтото, к примеру "круизы в грецию" - то мой скрипт поиска конечно не Яндекс который понимает морфологию и не сможет найти такие вхождения как "круиз", "круизов", "круизами" и дт.  Так вот проанализировав всю ситуацию я пришел к выводу что можно собрать все слова родственные в базе данных и например в одной ячейке таблицы лежат все родственные слова встречающиеся на сайте "круиз круизы круизом круизами" и тд. Получается что сначала можно будет отыскать данную ячейку с вхождением одного какого то слова искавшего пользователем - по нему выбрать содержимое ячейки и собрав уже разширенный запрос выдать хороший результат поиска.

Слова то все по одному я могу собрать, да вот как потом их отсортировать по родственности я не знаю, видно только ручками, чего если чесно не хочется делать.

Подскадите у кого какие есть на то идеи.

Спасибо.
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн sarutobi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 61
  • +0/-0
  • 0
    • Просмотр профиля
Сбор слов
« Ответ #1 : 11 Августа 2005, 21:12:09 »
tarya
Хм... на Яндексе используется совершенно другой алгоритм поиска. Тебе надо почитать в сети материалы на тему лексических анализаторов. Ссылок на памяь не помню - поищи по ключевым словам "разработка текстовых адвентюр" или что то в этом роде.
От себя добавлю, что идею написать подобный анализатор на PHP забросил, т.к. для русского языка не смог построить быстрый алгоритм разбора.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28