Re: RE: [pgsql-ru-general] hstore - релевантность - Mailing list pgsql-ru-general

From Oleg Bartunov
Subject Re: RE: [pgsql-ru-general] hstore - релевантность
Date
Msg-id Pine.GSO.4.63.0511072206470.29329@ra.sai.msu.su
Whole thread Raw
In response to RE: [pgsql-ru-general] hstore - релевантность  ("Ilia Kantor" <ilia@obnovlenie.ru>)
List pgsql-ru-general
On Mon, 7 Nov 2005, Ilia Kantor wrote:

>
> А что насчет tsearch2 ?
>
> Допустим, я хочу найти документы по словам "моя мама мыла раму".
> Хочу получить сначала точные совпадения, потом "мама мыла раму", "моя мыла
> раму",..., потому "мыла раму", отсортированные по релевантности.
> Скажем, первые 100 записей.

ты определись с запросом сначала, а потом спрашивай. Судя по всему, ты хочешь
"моя OR мама OR мыла OR раму" и релевировать документы ты хочешь по
кол-ву попаданий слов. Сразу скажу, что порядо слов для нас не важен, так
что если ты хочешь фразу поискать, то пользуй совет Mike Rylander
http://www.sai.msu.su/~megera/oddmuse/index.cgi/Tsearch_V2_Notes

В 8.1 уже новая фукнция релевантности для OR запросов, которая сильно
лучше учитывает то, что ты хочешь. Но для 8.2 мы пишем сильно улучшенную
функцию релевантности, так что наберитесь терпения или реально помогите.

>
> Будет ли сделана
> 1) выборка всех сколько-нибудь релевантных документов (например 1000000),
> затем сортировка их всех (плохой вариант)
> 2) выборка наиболее релевантных документов (100) сразу, согласно индексу,
> без сортировки.

Посмотри план запроса :) Чудес не бывает, текущая реализация LIMIT в
постгресе так написана, что все равно сортируются все результаты, а потом
просто выдается необходимый кусок.

>
> Насколько, вообще, используемые tsearch2 алгоритмы близки современным
> поисковым движкам: yandex/google... ?

Кто их точно знает, что у них работает :) В статьях можно много чего написать.
Уточни, какие алгоритмы ты имеешь ввиду ?
Алгоритмы индексирования - точно
разные из-за разного хранилища и разных целей. Лингвистика ? У нас есть
поддержка морфологии,стеминга и стоп-слов. Язык запросов ? У нас весьма
богатый ? Алгоритмы поиска ? У нас прямой индекс и реляционное хранилище,
поэтому сравнивать нечего. Алгоритмы релевации ? У нас нет заточенного
парсера для html документов, но есть поддержка классов лексем, есть нормировка
на длину документа, есть координатная информация (proximity).
Вы можете все это прочитать в документации и в Wiki
http://www.sai.msu.su/~megera/oddmuse/index.cgi/Tsearch2

Хочу напомнить наш TODO
http://www.sai.msu.su/~megera/oddmuse/index.cgi/todo
Все остальное будет иметь низкуй приоритет, если только оно не будет
подкреплено весомыми аргументами :)

Мы сейчас работает над UTF-8 поддержкой, что есть само по себе серьезная задача.
Ищем спонсора для "improving scalability". Если есть желание помочь, то
в добрый путь - исходники перед вами.


PS.
  В следущий раз постарайся быть поконкретнее. На просто ля-ля нет времени.


     Regards,
         Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

pgsql-ru-general by date:

Previous
From: "Ilia Kantor"
Date:
Subject: RE: [pgsql-ru-general] hstore - релевантность
Next
From: Teodor Sigaev
Date:
Subject: Re: GIST для hstore/tsearc