2013-08-11 5 views
2

Я создаю настольное приложение .NET (WinForms + Local PostgreSQL Server) для управления продажами в небольшом магазине.Интеграция Lucene в приложение .NET.

Я хочу интегрировать объекты поиска Lucene в модуль «Поиск продукта» моего программного обеспечения. Есть ли хорошие шаблоны для интеграции таких библиотек поиска информации в существующие приложения?

Примечание. Приложение все еще находится в разработке, и я всегда могу изменить архитектуру для интеграции Lucene.

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

Примечание. Также основным требованием интеграции является то, что пользователь может быстро искать продукты/бренды/etc и предоставлять в пользовательском интерфейсе систему автозаполнения google.

ответ

2

Лично я создал общий репозиторий, который в какой-то момент дает вам некоторый уровень абстракции, а также проект с именем linq to lucene, который идеально соответствует шаблону репозитория, я взял часть кода, и я сделал свой моя реализация в соответствии с моими потребностями, я предлагаю вам взглянуть, есть также пакет nuget с именем lucene contrib, который добавляет некоторые функции для lucene.net. пакет.

Хорошо, что использование linq в вашей реализации lucene заключается в том, что любой разработчик avg сможет выполнять текстовый поиск, не имея глубоких знаний о lucene.

Говоря об архитектуре, всегда рекомендуется рассматривать принципы ООП, такие как DRY, SOLID, TDD. В моем случае у меня есть отдельный проект, похожий на companyName.Software.Lucene, который абстрагирует всю механику за lucene, и когда вы используете эту реализацию, похоже, что вы в какой-то момент используете ORM для выполнения поиска.

в том случае, если вы используете NHibernate Theres возможности использовать текстовый индекс набор с ним

3

Я бы рекомендовал в получении книги «Lucene в действии». Он основан на версии Lucene 3.0.3 для Java, ОДНАКО, эта версия является самой последней версией для .NET (3.0.3).

Эта книга предоставит вам все, что вам нужно для работы в .NET. Реализация «Google-подобного» поиска на самом деле не так уж и тривиальна ... что-то делать: нечеткие поиски, сопоставление тезауруса, орфография/вы имели в виду сложный подсчет и т. Д. Я уже более 3 лет использую Lucene, и эта книга помогла мне многому научитесь.

Смежные вопросы