irc-suche
irc-suche
SYNOPSE
Gebrauch Recherche:: Namazu;
@hlists = Recherche:: Namazu:: Recherche (Anzeigemarke => /usr/local/namazu/index,
Abfrage => foo);
foreach mein $hlist (@hlists) {
Druck ($hlist->score, $hlist->uri, $hlist->date, $hlist->rank);
}
$x = Recherche:: Namazu:: Recherche (Anzeigemarke => /usr/local/namazu/index,
Abfrage => foo,
stellt => [„uri“, „von“]) auf;
foreach meine $rxs (@$x) {
Druck ($rxs->get („uri“), $rxs->score, $rxs->get („von“));
}
SYNOPSE
Gebrauch Recherche:: VectorSpace;
meine @docs =…;
mein $engine = Recherche:: VectorSpace->new (Doc. => @docs, Schwellwert => .04);
$engine->build_index ();
während (mein $query = <>) {
mein %results = $engine->search ($query);
Druck schließen sich „N“, Schlüssel %results an;
}
Diese Baugruppe nimmt eine Liste der Dokumente (auf englisch) und der Bauten eine einfache Inspeicher Search Engine using ein vektorplatzbaumuster. Dokumente werden als PDL-Nachrichten gelagert, und nach der Anfangsbewegungsphase, sollte die Recherche sehr schnell sein. Diese Umsetzung wendet eine rudimentäre Endliste an, um sehr geläufige Wörter herauszufiltern und verwendet eine Kosinusmaßnahme, Dokumentenähnlichkeit zu berechnen. Alle Dokumente über einem Benutzer-konfigurierbaren Ähnlichkeitschwellwert werden zurückgebracht.
Eine Klientseite Bibliothek für den Aufbau einer einfachen umgekehrten Anzeigemarke und das Suchen sie.
Sie können den Quellencode von SVN mit dem folgenden Befehl zentralladen:
svn Prüfung http://js-search.googlecode.com/svn/trunk/ js-suchen
Wir einschließen zwei Anwendungen aufgebaut von dieser Bibliothek er: AutoSearch (ein Programm, zum des Gleichlaufes der Rechercheresultate im Laufe der Zeit zu automatisieren) und ein kleines Vorführungprogramm, zum der Bibliothek zu fahren. Back-ends für andere Recherchemotoren und hoch entwickeltere Klienten sind aktuell in Entwicklung.
WWW:: Recherche umfaßt AutoSearch, ein Programm, um web-basiert Recherchen zu automatisieren.
Diese Extension erlaubt Ihnen, Recherche ringtone für die Auswahl zu verwenden, die Sie gerade vom Zusammenhangmenü bildeten. Sie können durch Namen oder Künstler suchen. Den Namen des Lieds oder des Künstlers einfach auswählen.
Bedingungen:
· Firefox: 0.7 - 1.5.0.*
SYNOPSE
Gebrauch Recherche:: InvertedIndex;
mein $database = Recherche:: InvertedIndex:: DB:: DB_File_SplitHash->new ({
- map_name => /www/search-engine/databases/test-maps/test,
- multi => 4,
- file_mode => 0644,
- lock_mode => EX,
- lock_timeout => 30,
- blocking_locks => 0,
- => 1000000 cachesize,
- write_through => 0,
- read_write_mode => RDWR;
});
mein $inv_map = Recherche:: Inverted->new ({- Datenbank- => $database});
##########################################################
# Beispiel-Aktualisierung
##########################################################
mein $index_data = „irgendein Scalar - komplizierte Zelle refs sind okay“;
mein $update = Recherche:: InvertedIndex:: Update->new ({
- Gruppe => Schlüsselwörter,
- Anzeigemarke => http://www.nihongo.org/,
- Daten => $index_data,
- Schlüssel => {
etwas => 10,
Skalar=> 20,
kompliziertes => 15,
Zelle => 15,
refs => 15,
sind => 15,
okay=> 15,
},
});
mein $result = $inv_map->update ({- Aktualisierung => $update});
##########################################################
# Beispiel-Abfrage
# - Knotenpunkte ist eine anon-Liste der Recherche:: InvertedIndex:: Abfrage
# wendet ein (dieses darf komplizierte booleans vorbei konstruieren
# Verschachtelung).
#
# - Blätter ist eine anon-Liste der Recherche:: InvertedIndex:: Abfrage:: Blatt
# Nachrichten (verwendet für einzelne Rechercheausdrücke).
#
##########################################################
mein $query_leaf1 = Recherche:: InvertedIndex:: Abfrage:: Leaf->new ({
- Schlüssel=> Komplex,
- Gruppe => Schlüsselwörter,
- Gewicht => 1,
});
mein $query_leaf2 = Recherche:: InvertedIndex:: Abfrage:: Leaf->new ({
- Schlüssel=> Zelle,
- Gruppe => Schlüsselwörter,
- Gewicht => 1,
});
mein $query_leaf3 = Recherche:: InvertedIndex:: Abfrage:: Leaf->new ({
- Schlüssel=> Gold,
- Gruppe => Schlüsselwörter,
- Gewicht => 1,
});
mein $query1 = Recherche:: InvertedIndex:: Query->new ({
- Logik => und,
- Gewicht => 1,
- Knotenpunkte => [],
- Blätter => [$query_leaf1, $query_leaf2],
});
mein $query2 = Recherche:: InvertedIndex:: Query->new ({
- Logik => oder,
- Gewicht => 1,
- Knotenpunkte => [$query1],
- Blätter => [$query_leaf3],
});
mein $result = $inv_map->search ({- Abfrage => $query2});
##########################################################
$inv_map->close;
Gegründet auf Answers.com karamba durch sg1 http://www.kde-look.org/content/show.php?content=30887
Dank Rcio Zienke für Sprachconfigeingabe.
To-do
- einige transtalations bilden
- Anzeigeartikel im wikipedia Recherchefenster
SYNOPSE
mein $qp = neue Recherche:: QueryParser;
mein $s = +mandatoryWord - excludedWord +field: Wort „genaue Phrase“;
mein sterben $query = $qp->parse ($s) oder „Fehler in der Abfrage: “. $qp->err;
$someIndexer->search ($query);
# Abfrage mit Vergleichsbedienern und implizites plus (zweites arg ist zutreffend)
$query = $qp->parse („txt~^foo.* date>=01.01.2001 date<=02.02.2002“, 1);
# Boolesche Bediener (das Beispiel folgend ist ist mit „+a + gleichwertig (b c) - d“)
$query = $qp->parse („a UND (b ODER c) UND NICHT d“);
Diese Baugruppe analysiert eine Abfragezeichenkette in eine durch externe Recherchemotoren gehandhabt zu werden Datenstruktur. Für Beispiele solcher Motoren Datei sehen:: Tabellarisch und Recherche:: Indexer.
Die Abfragezeichenkette kann einfache Ausdrücke enthalten, „genaue Phrasen“, Feldnamen und Vergleichsbediener, +/- Vorzeichen, Klammern und Boolesche Verbinder.
Die Syntaxanalyse kann durch reguläre Ausdrücke für spezifische Begriffe „des Ausdruckes“, „des Feldnamens“ oder „des Bedieners“ parameterisiert werden; die neue Methode sehen. Die Syntaxanalyse hat keinen Träger für Lemmatisation oder andere Ausdrucktransformationen: diese sollten außen getan werden, bevor man die AbfrageDatenstruktur zur Search Engine führt.
Die Datenstruktur, die aus einer analysierten Abfrage resultiert, ist ein Baum von Ausdrücken und von Bedienern, wie unten beschrieben in der Satzgliederungsmethode. Die Deutung der Zelle ist bis zur externen Search Engine, die die analysierte Abfrage empfängt; die anwesende Baugruppe bildet keine Annahme über, was sie bedeutet, zu sein „Gleichgestelltes“, oder einen Ausdruck „enthalten“.
SYNOPSE
Gebrauch Recherche:: ContextGraph;
mein $cg = Recherche:: ContextGraph->new ();
# zuerst hinzufügen Sie einige Dokumente, möglicherweise in einem Zug… Zug
mein %docs = (
erstes => [Elefant, Schlange],
zweites => [Kamel, Pony],
drittes => {Schlange => 2, Constrictor => 1},
);
$cg->bulk_add (%docs);
# oder in einem Regelkreis…
foreach mein $title (Schlüssel %docs) {
$cg->add ($title, $docs {$title});
}
# oder von einer Datei…
mein $cg = Recherche:: ContextGraph->load_from_dir („. /myfiles“);
# können Sie eine Diagrammnachricht für neueren Gebrauch lagern
$cg->store („stored.cng“);
# und es später zurückholen…
mein $cg = ContextGraph->retrieve („stored.cng“);
# SUCHEND
# die einfachste Methode
meine @ranked_docs = $cg->simple_search (Erdnüsse);
# beide in Verbindung stehenden Ausdrücke und Doc. für mehr Leistung zurückbekommen
mein ($docs, $words) = $cg->search (Schlange);
# können Sie ein Dokument als Ihre Abfrage verwenden
mein ($docs, $words) = $cg->find_similar (erstes Dokument);
# oder Sie kann auf einer Kombination von Sachen abfragen
mein ($docs, $words) =
$cg->mixed_search ({Doc. => [erstes Dokument],
bezeichnet als => [Schlange, Pony]
);
# resultieren ausdrucken Einstellung zurückgebrachte Dokumente
foreach mein $k (Sortierung {$docs-> {$b} <=> $docs-> {$a}}
befestigen % {$docs}) {
„Dokument $k drucken hatte Bedeutung“, $docs-> {$k}, „N“;
}
# Umladen es
mein $new = Recherche:: ContextGraph->retrieve („Dateiname“);
Ausbreitende Aktivierung ist eine ordentliche Technik für Gebäuderecherchemotoren, die genaue Resultate für eine Abfrage zurückbringen, selbst wenn es keine genaue Schlüsselwortübereinstimmung gibt. Der Motor arbeitet, indem er eine Datenstruktur aufbaut, die ein Zusammenhangdiagramm genannt, das ein riesiges Netz der Dokumenten- und Ausdruckknotenpunkte ist. Alle Dokumentenknotenpunkte angeschlossen an die Ausdrücke e, die in diesem Dokument auftreten; ähnlich angeschlossen jeder Ausdruckknotenpunkt an alle Dokumentenknotenpunkte n, denen Ausdruck in auftritt. Wir suchen das Diagramm, indem wir an einem Abfrageknotenpunkt beginnen und eine Einstellungmenge Energie zu seinen Nachbarknotenpunkten verteilen. Dann wir recurse, die Energie in jedem Stadium vermindernd, bis diese ausbreitende Energie unterhalb eines gegebenen Schwellwerts fällt. Jeder Knotenpunkt im Auge behält akkumulierte Energie, und dieser dient als unsere Maßnahme Bedeutung.
Dies heißt, dass Dokumente, die viele Wörter gemeinsam haben, der Search Engine ähnlich aussehen. Ebenso empfunden Wörter, die zusammen in vielen Dokumenten auftreten, wie semantisch in Verbindung gestanden. Besonders mit den größeren, zusammenhängenden Dokumentenansammlungen, kann die Search Engine an der Anerkennung von Synonymen und am Finden der nützlichen Verhältnisse zwischen Dokumenten ziemlich wirkungsvoll sein. Sie können eine volle Beschreibung des Algorithmus bei http://www.nitle.org/papers/Contextual_Network_Graphs.pdf lesen.
Die Search Engine gibt erweiterten Rückruf (relevante Resultate, selbst wenn es keine Schlüsselwortübereinstimmung gibt), ohne auf die Art der Computer- und Patenterteilungen zu nehmen, die durch latente semantische Index-Bewegung aufgeworfen (LSI). Die Technik, die hier verwendet, beschrieben ursprünglich in einer Abhandlung 1981 von Scott Preece.
SYNOPSE
mein $test = neue Recherche:: Freier Text (- DB => [DB_File, „stories.db“]);
$text->open_index ();
$text->clear_index ();
$text->index_document (1, „hallo Welt“);
$text->index_document (2, „Welt im Antrag“);
$text->index_document (3, „grausame verrückte schöne Welt“);
$text->index_document (4, „he verrückt“);
$text->close_index ();
$text->open_index ();
foreach ($text->search („verrückt“, 10)) {
Druck „$_-> [0], $_-> [1] N“;
};
$text->close_index ();
Diese Baugruppe liefert den freien Text, der in einer verhältnismäßig geöffneten Weise sucht. Sie erlaubt, eine hartnäckige Anzeigemarke der umgekehrten Datei wird konstruiert zu werden und gehandhabt (innerhalb der Begrenzungen), und dann ziemlich effizient gesucht zu werden. Die Baugruppe hängt von einer DBM Baugruppe irgendeiner Art ab, um die umgekehrte Datei zu handhaben (DB_File ist normalerweise die beste Wahl, da es ziemlich schnell ziemlich ersteigbar ist, und die langen Werte annimmt, die für Leistung erforderlich sind.
Der suchende Algorithmus des freien Texts, der verwendet wird, ist der Entwurf der Gewichtung BM25, der in Robertson, in S.E., im Wanderer, in S., in Beaulieu, in M.M., in Gatford, in M. und in Payne, A. (1995) beschrieben wird. Okapi an TREC-4, in NIST-spezieller Publikation 500-236, die vierte Text-Wiederherstellungs-Konferenz (TREC-4), Seiten 73-96.
Viel der Baugruppes hängt von einem geöffneten lexikalischen Analysensystem ab, das durch Recherche: implementiert wird: Freier Text:: LexicalAnalysis. Dieses ist, wo das ganzes aufteilende und aufhaltene Wort gehandhabt wird (Lingua:: Stamm wird für das Aufhalten verwendet).
Using die Baugruppe ist ziemlich einfach: Sie können eine Anzeigemarke und einen Abschluß öffnen es, und während es geöffnet ist, fügen Sie Dokumente als Zeichenketten, jede mit einem Schlüssel Ihres eigenen Wählens hinzu. Sie können das Korpus using eine Zeichenkette suchen, und Sie bekommen eine Liste der Übereinstimmungen zurück, jede eine Reihe Ihres eigenen Dokumentenschlüssels und eine Bedeutungsmaßnahme. So z.B. konnten die Schlüssel Datenbank- Tischschlüssel, URL, Dateinamen, etwas Ähnliches sein tun. Dieses bildet Recherche:: Freier Text ein sehr nützliches Paket, zum der ziemlich effizienter und der Qualitäts Suchvorgänge zu implementieren.
SYNOPSE
Tut genau, was es auf dem Zinn sagt; schaut oben Sachen in den Web-Recherchemotoren und holt Ihnen zurück die Resultate.
IRC-VERBRAUCH
[Recherche] < Motor > für < Eingabe >
Von wo < Motor > einer ist
AltaVista Dejanews erregen Gopher HotBot INFOSEEK
Lycos Magellan PLweb SFgate einfache Wahrheit Google
Die folgenden Rechercheplatz unterstützt:
Doc.
Geläufige Web-Recherche nach Dokumenten (HTML, pdf, Doc.,…), einschließlich O! Q-Kontextrecherche.
Bild
Bildrecherche (JPEG, png, GIF,…)
Video
Recherche der videodatei (avi, MPEG, realmedia,…)
Nachrichten
Nachrichtenartikelrecherche
Lokal
Yahoo! Lokaler Bereich (Mit einem Reißverschluß schließen-Code-gegründetes Yellow Pages wie Recherche)
Ausdrücke
Pseudo-suchen, um über die wichtigen Rechercheausdrücke vom zur Verfügung gestellten Inhalt oder vom content+query zu berichten.
Bann
Pseudo-suchen, um zu holen „Sie bedeutete?“ Rechtschreibungvorschlag für einen Rechercheausdruck.
In Verbindung stehend
Pseudo-suchen, um zu holen „versuchen auch“ in Verbindung stehend-sucht nach einem Rechercheausdruck.
(Mitteilung: was dieses Perl API „Doc.“ nennt, ist Recherche, was Yahoo! Aufrufe „Web-“ Recherche. Aber das gee, arent alles Web sucht „Web-“ Recherche, einschließlich Bild/Nachrichten/Video/usw.?)
Yahoo! s rohe API, das dieses Paket verwendet, beschrieben an:
http://developer.yahoo.net/
SYNOPSE
WWW erfordern:: Recherche;
$search = neues WWW:: Recherche (Goto-);
Diese Kategorie ist eine Goto- Spezialisierung von WWW:: Recherche. Sie handhabt die Herstellung und das Übersetzen der Goto- Recherchen www-GoTo.com.
Nichts speziell über Goto-: keine Rechercheoptionen. Sie ist ganz wie Google dadurch, dass sie returm zu den relavent Rechercheresultaten using einfache Abfragen versucht.
Diese Kategorie exportiert keine allgemeine Schnittstelle; alle Interaktion sollte durch WWW erfolgt werden:: Recherchenachrichten.
Erhältliche Befehle
! boardsearch < Name > - Erscheinengewinde und -pfosten, deren Name gesucht enthält, abfaßt t.
! < username-> - Erscheinen boardseen, als der Benutzer das letzte Mal im Vorstand gesehen und als er das letzte Mal bekanntgab.
! spät - Erscheinen die spätesten Gewinde/die Pfosten (Menge ist konfigurierbar).
! topposter - Erscheinenbenutzer mit den meisten Pfosten.
! foren (nur für konfigurierte admins) - Erscheinen die Vorstände, deren Gewinde/Pfosten in IRC bekanntgegeben (hauptsächlich zu den Fehlersuchezwecken).
! lastusers (nur für konfigurierte admins) - Erscheinen die letzten Registrierungen.
Die DG Recherche angestrebt das kleine zu mittelgrosser Web site unterstützend r.
SYNOPSE
Gebrauch WWW:: Recherche;
mein $oSearch = neues WWW:: Recherche (Yahoo);
mein $sQuery = WWW:: Recherche:: escape_query („Sushigaststätte Columbus Ohio“);
$oSearch->native_query ($sQuery);
während (mein $oResult = $oSearch->next_result ())
Druck $oResult->url, „N“;
Diese Kategorie ist eine Yahoo-Spezialisierung von WWW:: Recherche. Sie handhabt die Herstellung und das Übersetzen der Yahoo-Recherchen http://www.yahoo.com.
Diese Kategorie exportiert keine allgemeine Schnittstelle; alle Interaktion sollte durch WWW erfolgt werden:: Recherchenachrichten.
SYNOPSE
Gebrauch WWW:: Recherche;
mein $oSearch = neues WWW:: Recherche (Nomade);
$oSearch->maximum_to_retrieve (100);
#$oSearch - > {_debug} =1;
# Antrag erstellen
$oSearch->native_query (WWW:: Recherche:: escape_query („cgi“));
# oder eine internationale Recherche bilden (auf google DB)
$oSearch->native_query (WWW:: Recherche:: escape_query („cgi“),
{entscheiden => 1},);
Druck „, das ich“ finde, $oSearch->approximate_result_count (), „N“;
während (mein $oResult = $oSearch->next_result ())
{Druck „URL: “, $oResult->url, „N“, „Titer: “, $oResult->title, „N“; }
Diese Kategorie ist eine Nomade Spezialisierung von WWW:: Recherche. Sie handhabt die Herstellung und das Übersetzen der Nomade Recherchen http://www.Nomade.fr, eine französische Search Engine.
Diese Kategorie exportiert keine allgemeine Schnittstelle; alle Interaktion sollte durch WWW erfolgt werden:: Recherchenachrichten.
SYNOPSE
WWW erfordern:: Recherche;
$search = neues WWW:: Recherche (OpenDirectory);
Diese Kategorie verwendet den geöffneten Verzeichnismotor http://dmoz.org. Yahoo! Verzeichnis schreiben, das der beibehaltene Benutzer ist. Sehr nett!
Rechercheausdrücke mit trennen und alle Wörter einzuschließen. Annimmt Anführungszeichen für das Phrasensuchen t: „Tour de France“
Diese Kategorie exportiert keine allgemeine Schnittstelle; alle Interaktion sollte durch WWW erfolgt werden:: Recherchenachrichten.
SYNOPSE
Gebrauch WebService:: GoogleHack:: Recherche;
#create eine Nachricht des Typen Recherche
mein $search = GoogleHack:: Search->new ();
#Query Google.
$search->searchPhrase ($searchString);
die variablen #The Resultate enthalten jetzt die Resultate Ihrer Abfrage.
#Printing das searchtime
Druck „N-Recherche-Zeit“. $search-> {searchTime};
#Printing das Stückchenelement 0
Druck „nnSnippet“. $search-> {Stückchen} - > [0];
Diese Baugruppe zur Verfügung stellt eine einfache Schnittstelle zum Google API. Sie verwendet durch die GoogleHack Baugruppe.
SYNOPSE
Gebrauch WWW:: Recherche; $query = „Bob Hope“; $search = neues WWW:: Recherche (YahooNews); $search->native_query (WWW:: Recherche:: escape_query ($query)); $search->maximum_to_retrieve (100); während (mein $result = $search->next_result ()) {
$url = $result->url; $title = $result->title; $desc = $result->description;
Druck
$desc
N "; }
Diese Kategorie ist eine Yahoo-Spezialisierung von WWW:: Recherche. Sie handhabt die Herstellung und das Übersetzen von Yahoo-Nachrichten-Recherchen. Yahoo darf eine große Vielfalt der Nachrichtenquellen wie sek und PRWire suchen, um einige zu benennen. http://www.search.news.yahoo.com.
WIE FUNKTIONIERT ES?
native_setup_search gerufen (von WWW:: Recherche:: setup_search) bevor wir alles tun. Es initialisiert unsere privaten Variablen (die alle mit Unterstreichen anfangen) und vorbrachte ein URL zur ersten resultiert Seite in {_next_url}.
native_retrieve_some gerufen (von WWW:: Recherche:: retrieve_some) wann immer mehr Hits erforderlich sind. Sie ruft WWW:: Recherche:: http_request die Seite holen vorbei spezifiziert {_next_url}. Es analysiert dann diese Seite und anfügt alle mögliche Recherchehits e, die sie findet {Cache}. Wenn es eine ``folgende Taste im Text findet, einstellt es {_next_url} um auf die Seite für die folgende Einstellung von Resultaten zu zeigen, andernfalls einstellt es sie auf undef ie, um anzuzeigen getan.
