Evgeny Putililn wrote:

Kovalenko Dmitry пишет:

Тут вот DED все стебается "базу надо нормально проектировать". Дык вот
спроектировал, блин, "нормально" - теперь единственный "нормальный"
способ по ней искать, это "а-ля" полнотекстовый поиск. Только ЧЕТКИЙ.
Угу. А как ты будеш отличать Иванова от Ивaнoвa ? (буквы ращзные) или ул. Ленина от Лениа уд.?

Женя, ведь использовать stemmer и stop words в Lucene совсем ведь не обязательно, можно и стандартный анализатор (StandardAnalyzer) без указания конкретного языка использовать.

Фича Lucene в том, что если искать документ по запросу

    Фамилия: четко "Иванов", вес 10
    Имя: начинается на "И", вес 1
    Адрес: ул. Ленина, вес 5

то Lucene сначала выдаст документ "Иванов Иван Петрович, ул. Ленина 100 кв. 10", потом "Иванов Василий Сергеевич, ул. Ленина 20 кв. 15" и только потом "Иванов Исаак Абрамович, пр. Ленина 1".

Здесь нечеткость поиска проявляется не столько в том, что он может отдельные слова склонять, а в том, что отработка сложного условия дает в результате число между 0 и 1, а не 0 или 1. И это число как раз и означает насколько хорошо найденый документ удовлетворяет запрос _с точки зрения Lucene_. А точка зрения Lucene очень сильно зависит от конфигурации.

Так что думаю, что Димке Lucene подойдет, просто ее надо будет под свою задачу заточить.

Роман

Ответить