Frage:
Intranet-Crawler und Suchmaschine
sorin
2014-02-12 01:50:15 UTC
view on stackexchange narkive permalink

Ich suche nach wirklich kostenlosen Alternativen für die Implementierung einer Intranet-Websuchmaschine.

Ich weiß, dass Google Search Appliance (GSA) wahrscheinlich die beste wäre, aber es ist extrem teuer und ich möchte in der Lage sein, Millionen von Seiten zu crawlen.

Ich habe SearchBlox ausprobiert und zusätzlich zu der Tatsache, dass ich es schlecht dokumentiert und kontraintuitiv fand, hat es auch ein Limit von 25.000 Dokumenten. Das ist fast nichts im Vergleich zu dem Level, auf das ich es skalieren möchte. Wenn es besser wäre, hätte ich vielleicht ein Upgrade auf eine kommerzielle Lizenz in Betracht gezogen, aber aufgrund der Erfahrung würde ich nicht dafür bezahlen.

Nun suche ich nach anderen Ansätzen

Haben Sie [Sphinx] gesehen (http://en.wikipedia.org/wiki/Sphinx_ (search_engine))?
Irgendwelche spezifischen Anforderungen? Siehe [dieses Meta] (http://meta.softwarerecs.stackexchange.com/questions/336/what-is-required-for-a-question-to-contain-enough-information) für eine gute Frage.
Aus welchen Quellen möchten Sie crawlen? CMIS? WebDAV (Network Shared Drive)? Lokale Festplatte? Intranet-Websites?
Vier antworten:
Angelo Fuchs
2014-02-12 02:15:26 UTC
view on stackexchange narkive permalink

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.

Hast du irgendwelche Erfahrungen mit Solr / Lucene? Möchtest du das näher erläutern?
@Olli Ja. Ich habe die Antwort aktualisiert. Danke für die Erinnerung :)
Nicolas Raoul
2014-02-12 15:31:59 UTC
view on stackexchange narkive permalink

Duckduckgo ist ein Internet-Crawler und eine Suchmaschine.

Hier ist der Quellcode: https://github.com/duckduckgo

Sie können es kompilieren, so konfigurieren, dass nur Ihre Intranet-Websites gecrawlt werden, und es auf einem Server in Ihrem Intranet hosten.

Allerdings ist das Crawlen von Webschnittstellen nicht sehr effizient Machen Sie es viel besser (zum Beispiel mit Solr), wenn Sie wieder Zugriff darauf haben, wo der Inhalt tatsächlich gespeichert ist. Auf diese Weise können Sie auch Personen mit unterschiedlichen Zugriffsrechten unterschiedliche Ergebnisse anzeigen (z. B. können nur HR-Mitarbeiter Lebensläufe durchsuchen).

Hast du das gemacht? Hast du es benutzt? Was ist deine Erfahrung? Können Sie uns etwas mehr darüber erzählen? (Ich wusste nicht, dass du das mit Duckduckgo machen kannst, also bin ich ziemlich interessiert)
Ein Link zu einem Artikel, der kurz dokumentiert, wie Sie Ihre eigene Instanz installieren, wäre hilfreicher. Es gibt dort so viele Repositories, dass es unmöglich ist zu wissen, wo man mit der Bewertung als Intranetsuchmaschine beginnen soll.
Nick Dickinson-Wilde
2014-02-12 04:02:16 UTC
view on stackexchange narkive permalink

Sphider oder (besser) Sphider Plus

Bisher habe ich beide großartig gefunden. Sie sind ziemlich gleich, außer dass Sphider Plus tausendmal besser ist - stellen Sie sich das Original als "Lite" -Version vor. Dies ist wirklich eine rec. für Sphider plus und das ist der Funktionsumfang, über den ich hauptsächlich sprechen werde.

  • Benötigt PHP 5 oder 6.
  • Datenbank (MySQL - IIRC kann auch einige andere verwenden DB Engines)

Funktionen, die Ihren Anforderungen entsprechen:

  • Keine maximale Anzahl von Dateien, die indiziert werden sollen
  • Indiziert HTML und wird erstellt In Konvertern können PDF-, DOCX-, XLSX-, ODT-, ODS-, CSV- und XLS-Dateien indiziert werden.
  • Sehr preiswerte (25 EURO)
  • leistungsstarke Administrationsoberfläche
  • ziemlich viel Automatisierung (dh automatische Neuindizierung über CRON usw.)
Kann es HTML indizieren? Die Operation suchte nach etwas, das sein Intranet indizierte.
Ja, dafür ist es konzipiert. Es scheint, dass ich das nicht explizit angegeben habe.
Sorry, aber die neueste Version war vor mehr als einem Jahr und die Website scheint in den 90ern entstanden zu sein ...
@sorin: Ich muss zustimmen, dass die Website ein wenig * hässlich * ist. Allerdings gab es heute eine Veröffentlichung von Sphider Plus - was, wie gesagt, die Version / Gabel war, über die ich hauptsächlich sprach.
dgig
2016-06-15 02:08:07 UTC
view on stackexchange narkive permalink

Es hört sich so an, als müssten Sie auch über die verfügbaren Websites kriechen? Ein kostenloser Webcrawler, den ich eingerichtet habe, ist Heritrix. Es ist Open Source und läuft auf der "Wayback Machine" des Internetarchivs.

https://webarchive.jira.com/wiki/display/Heritrix/Heritrix

Dann müssten Sie es vermutlich mit etwas wie Solr kombinieren, um die eigentliche Indizierung für die Suche durchzuführen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...