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 подойдет, просто ее надо будет под свою
задачу заточить.
Роман