Solr kann dies tun. Damit können Sie eine Datenquelle definieren, um sie zu crawlen, und sie interpretiert die Daten. Solr ist kostenlos und Open Source.
Solr hat eine extrem schnelle Suchmaschine (Lucene) und kann viele Daten importieren. Es ist für "feldähnliche" Daten wie XML
, JSON
oder HTML
optimiert, aber es gibt Konverter für alles, was Text enthält (wie Word, PDF) usw.)
Wenn Sie nur einige Intranetsites (<100.000) indizieren müssen UND auf die Datenbank zugreifen können, sollten Sie einfach den Data Import Handler
einrichten erledigen Sie die Arbeit für Sie.
Andernfalls müssen Sie etwas Eigenes codieren, das die Daten an den Server sendet.
Beachten Sie, dass dies ein -Entwicklungstool und kein Endbenutzerprogramm
. Sie müssen eine Schnittstelle erstellen. (Nach meiner Erfahrung ist dies recht einfach.)
Wenn Sie die Informationen in verschiedenen Feldern speichern (z. B. meta code>, title
, url , content
, language
, filetype
...) Sie können diese Felder gezielt durchsuchen, wobei Tausende die Möglichkeit haben, Ihre Suche einzugrenzen Nieder. Wenn beispielsweise alle Ihre Websites im Intranet einen Autor haben und Sie auf dieses Feld zugreifen und es indizieren können, können Sie nach allen Dokumenten suchen, die von diesem Autor stammen, aber alles ignorieren, was ihn betrifft. Es unterstützt auch die Fuzzy-Suche
("suchen", "suchen")
Ich habe Solr in einem (und der untergeordneten Suchmaschine Lucene in vielen) Projekten verwendet und war sehr beeindruckt davon . Die hohe Flexibilität der Datenverarbeitungs-Engines ist unglaublich. Der Suchteil ist so schnell, dass ich ihn auf meiner Liste habe, um eines Tages zu verstehen, wie er funktioniert :)
Wenn Sie lediglich eine Such-Crawler-&-Suchoberfläche benötigen, entspricht der Konfigurationsaufwand von Solr möglicherweise nicht Ihren Anforderungen. Wenn Sie jedoch ein Tool benötigen, das 30.000.000 Dokumente durchkaut, ist dies das richtige Tool. In dem Projekt, das ich verwendet habe (mit dieser Menge an Dokumenten), hatten wir mehr Probleme mit der Netzwerklatenz als mit der Solr-Suchzeit. Sie können den Index replizieren und eine Solr-Instanz mit Lastenausgleich verwenden, die die Suchanforderungen an die anderen verteilt. Und und und ... die Anzahl der verschiedenen Optimierungen dieses Tools ist atemberaubend. Dazu gehört natürlich eine notwendige Konfiguration, die möglicherweise nicht sehr intuitiv ist.
Wie oben angedeutet, ist Solr
ein Wrapper um Lucene
Sie haben bereits ein CMS
, um die Site für Sie zu erstellen. Möglicherweise gibt es bereits ein Lucene-Plugin
, auf das Sie zugreifen können.