Ich bin auf der Suche nach einer sehr robusten Software-Suchmaschine zur Integration in eine .Net-Website.
Die aktuell vorgeschlagene Lösung ist Lucene.NET ein Stack basierend auf Lucene. Ich würde jedoch gerne andere Suchmaschinen bewerten, bevor ich darüber nachdenke.
Wir benötigen folgende Funktionen:
Andere Dinge, die großartig wären, aber keine Deal-Breaker, wenn sie nicht unterstützt werden:
Welche anderen Software-Suchmaschinen haben für Sie gearbeitet? Gibt es irgendwelche, die Sie empfehlen oder die wir vermeiden sollten?
Sehen Sie sich den Search Server Express von Microsoft an, obwohl die Seite ziemlich durcheinander ist Versuchen Sie im Moment diesen Link .
Es gibt andere Enterprise-Engines wie vivisimo velocity (sehr erweiterbar), Autonomie usw. Lucene und Solr sind begrenzt, schwer zu verwenden und konfigurieren, aber das ist, was Sie bekommen, wenn Sie etwas frei haben wollen.
Lucene.Net ist eine Informationsabrufbibliothek, keine Suchmaschine. Insbesondere wird Folgendes nicht tun:
Obwohl ich ein starker Unterstützer oder SQL bin und es als Volltext-Suchkomponente einer Suchmaschine empfehlen würde, benötigen Sie auch eine Crawler / HTML-Parser-Komponente, um eine voll funktionsfähige Suchmaschine und Sie zu erstellen müssen Ihre Lucene.Net-Indizes sorgfältig entwerfen, um die Leistung der gewünschten Abfragen zu maximieren (Suche nach Sprache / Gebietsschema)
Sehen Sie sich das Projekt Solr an, bei dem es sich um eine vollwertige Suchmaschine handelt, die Lucene verwendet - dies könnte Ihren Anforderungen besser entsprechen .
Ich würde empfehlen, Solr auszuprobieren. Es ist Java-basiert, erfüllt aber die HTTP-basierte API-Phase Ihrer Anforderungen und ist so konzipiert, dass es auf einer separaten Box / einem Cluster von Ihrer primären App ausgeführt wird (Sie benötigen also nicht notwendigerweise Java UND .NET auf derselben Hardware) Es hat viel Schwung. Es ist eine Weile her, seit ich damit gearbeitet habe, aber ich kann mich nicht erinnern, dass es einen eigenen Crawler hat. Wenn das immer noch so ist, sollte es einfach sein, einen eigenständigen Crawler und die oben erwähnte API zu verwenden, damit es funktioniert.
Coveo ist die Suchmaschine, die wir derzeit einsetzen, um Google Mini , das für eine Reihe von Jahren verwendet wurde. Ich deute nur darauf hin, dass es etwas zu erkunden gibt, da ich nicht genug benutzt habe, um zu wissen, wie gut sie sind. Ich kenne nur Kopfschmerzen bei jedem, viele viele Kopfschmerzen.
Anstatt Lucene.Net direkt zu verwenden, haben Sie überlegt, etwas zu verwenden, das es umschließt und mehr Funktionen bietet, als Sie möchten?
Solr ist ein Apache-Produkt, das dies tut, und es gibt auch einen . Net-Client Port von dafür. Ich habe es nie in der Produktion verwendet, aber es sieht nach der Art von Dingen aus, nach denen du suchst.
Entlang einer ähnlichen Idee ist Nutch (geschrieben von dem Typ, der ursprünglich Lucene geschrieben hat), obwohl mir kein .Net bekannt ist Version davon. Nutch hat eine Spider-Komponente zum Crawlen von Websites.
Sie können sich auch den OpenSearchServer
ansehenLäuft wie ein Zauber auf Windows. Sie können den SOAP-Web-Service für die Integration verwenden.
Es gibt auch eine C # -Skelettbibliothek, die mit der XML / REST-API arbeitet.
Haftungsausschluss: Ich bin der CEO von OpenSearchServer
Tags und Links c# search full-text-search search-engine