2009-01-20 5 views
5

Ich überlege, ob ich NHibernate.Search oder PostgreSQLs eingebettete Volltextsuche für mein aktuelles Projekt wählen soll.PostgreSQL-Volltextsuche vs. NHibernate.Search via Lucene.Net

Wir verwenden, wie Sie bereits vermutet haben, PostgreSQL RDBMS mit NHibernate ORM auf der .NET-Plattform. Welche Erfahrung haben Sie mit den oben genannten Volltext-Engines? Gibt es irgendwelche Fallstricke, die mir bewusst sein sollten?

+0

Eine gute Antwort auf diese Frage hängt davon ab, wie Sie suchen und was Sie suchen möchten. – Paco

Antwort

2

Ich würde empfehlen Lucene zu verwenden, obwohl ich denke, dass Postgres ein großartiges Produkt ist. Die Algorithmen von Lucene funktionieren hervorragend "out of the box" für die Suche in natürlicher Sprache. Mit anderen Worten, wenn Sie einfach die einfachste mögliche Suche konstruieren, scheint es nur "das Richtige zu tun" (was Ihre Intuition nahe legen würde).

Postgres tut RDb Mgt sehr gut. Dafür wurde es entwickelt. Aber vergleichen Sie die Umsetzung des folgenden auf beide:

Search for "google" or "yahoo" or "msn" followed by "search engine". 

nun den gleichen Abfrage-Code wiederverwenden die folgende Suche auszuführen:

Search for "google" and "yahoo" and "msn" and "search engine". 

Stellen Sie sich vor, was es dauern würde, um die Abfrage in NHibernate.Search implementieren im Vergleich PostgreSQL. Es sollte nicht lange dauern, sich davon zu überzeugen, dass es einfacher ist, flexible Textabfragefunktionen mit NHibernate zu erstellen. Es ist einfach natürlicher dafür geeignet.

Verwandte Themen