irc-suche
irc-suche
SYNOPSIS
gebruiks Onderzoek:: Namazu;
@hlists = Onderzoek:: Namazu:: Zoek (index => /usr/local/namazu/index,
vraag => foo);
foreach mijn $hlist (@hlists) {
druk ($hlist->score, $hlist->uri, $hlist->date, $hlist->rank);
}
$x = Onderzoek:: Namazu:: Zoek (index => /usr/local/namazu/index,
vraag => foo,
gebieden => [„uri“, „van“]);
foreach mijn $rxs (@$x) {
druk ($rxs->get („uri“), $rxs->score, $rxs->get („van“));
}
SYNOPSIS
gebruiks Onderzoek:: VectorSpace;
mijn @docs =…;
mijn $engine = Onderzoek:: VectorSpace->new (doc. => @docs, drempel => .04);
$engine->build_index ();
terwijl (mijn $query = <>) {
mijn %results = $engine->search ($query);
de druk sluit zich aan „bij n“, sleutels %results;
}
Deze module neemt een lijst van documenten (in het Engels) en bouwt een eenvoudige motor van het in-geheugenonderzoek gebruikend een vector ruimtemodel. De documenten worden opgeslagen als voorwerpen PDL, en na de aanvankelijke het indexeren fase, zou het onderzoek zeer snel moeten zijn. Deze implementatie past een rudimentaire eindelijst op filter uit zeer gemeenschappelijke woorden toe, en gebruikt een cosinusmaatregel om documentgelijkenis te berekenen. Alle documenten boven een gebruiker-configureerbare gelijkenisdrempel zijn teruggekeerd.
Een cliënt-zijbibliotheek voor de bouw van een eenvoudige omgekeerde index, en het zoeken van het.
U kunt de broncode van SVN met het volgende bevel downloaden:
svn controlehttp://js-search.googlecode.com/svn/trunk/ js-onderzoek
Wij omvatten twee die toepassingen van deze bibliotheek worden gebouwd: AutoSearch (een programma om het volgen van onderzoeksresultaten in tijd te automatiseren), en een klein demonstratieprogramma om de bibliotheek te drijven. De achterste delen voor andere onderzoeksmotoren en verfijndere cliënten zijn momenteel in ontwikkeling.
WWW:: Zoek omvat AutoSearch, een programma om web-based onderzoeken te automatiseren.
Deze uitbreiding staat u toe om onderzoeksringtone voor de selectie te gebruiken u rechtstreeks van het contextmenu maakte. U kunt door titel of kunstenaar zoeken. Selecteer enkel de naam van het lied of de kunstenaar.
Vereisten:
· Firefox: 0.7 - 1.5.0.*
SYNOPSIS
gebruiks Onderzoek:: InvertedIndex;
mijn $database = Onderzoek:: InvertedIndex:: OB:: 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,
- cachesize => 1000000,
- write_through => 0,
- read_write_mode => RDWR;
});
mijn $inv_map = Onderzoek:: Inverted->new ({- gegevensbestand=> $database});
##########################################################
# De Update van het voorbeeld
##########################################################
mijn $index_data = „Één of andere scalair - de complexe structuur refs is o.k.“;
mijn $update = Onderzoek:: InvertedIndex:: Update->new ({
- groeps=> sleutelwoorden,
- index => http://www.nihongo.org/,
- gegevens => $index_data,
- sleutels => {
één of andere => 10,
scalaire => 20,
complexe => 15,
structuur => 15,
refs => 15,
zijn => 15,
o.k. => 15,
},
});
mijn $result = $inv_map->update ({- update => $update});
##########################################################
# De Vraag van het voorbeeld
# - de knopen is een anon lijst van Onderzoek:: InvertedIndex:: Vraag
# heeft bezwaar (dit staat toe langs construerend complexe booleans
# nestelend).
#
# - doorbladert is een anon lijst van Onderzoek:: InvertedIndex:: Vraag:: Blad
# voorwerpen (voor individuele onderzoekstermijnen die worden gebruikt).
#
##########################################################
mijn $query_leaf1 = Onderzoek:: InvertedIndex:: Vraag:: Leaf->new ({
- zeer belangrijke complexe =>,
- groeps=> sleutelwoorden,
- gewicht => 1,
});
mijn $query_leaf2 = Onderzoek:: InvertedIndex:: Vraag:: Leaf->new ({
- zeer belangrijke structuur =>,
- groeps=> sleutelwoorden,
- gewicht => 1,
});
mijn $query_leaf3 = Onderzoek:: InvertedIndex:: Vraag:: Leaf->new ({
- zeer belangrijk goud =>,
- groeps=> sleutelwoorden,
- gewicht => 1,
});
mijn $query1 = Onderzoek:: InvertedIndex:: Query->new ({
- logica => en,
- gewicht => 1,
- knopen => [],
- doorbladert => [$query_leaf1, $query_leaf2],
});
mijn $query2 = Onderzoek:: InvertedIndex:: Query->new ({
- logica => of,
- gewicht => 1,
- knopen => [$query1],
- doorbladert => [$query_leaf3],
});
mijn $result = $inv_map->search ({- vraag => $query2});
##########################################################
$inv_map->close;
Gebaseerd op Answers.com karamba door sg1 http://www.kde-look.org/content/show.php?content=30887
Dank aan Rcio Zienke voor taal config ingang.
Aan-
- maak sommige transtalations
- toon artikel in het venster van het wikipediaonderzoek
SYNOPSIS
mijn $qp = nieuw Onderzoek:: QueryParser;
mijn $s = +mandatoryWord - excludedWord +field: woord „nauwkeurige uitdrukking“;
mijn $query = $qp->parse ($s) of matrijzen „Fout in vraag: “. $qp->err;
$someIndexer->search ($query);
# vraag met vergelijkingsexploitanten en impliciet plus (tweede arg is waar)
$query = $qp->parse („txt~^foo.* date>=01.01.2001 date<=02.02.2002“, 1);
# de exploitanten van Boole (het voorbeeld is hieronder gelijkwaardig aan „+a + (B c) - D“)
$query = $qp->parse („a EN (B OF c) EN NIET D“);
Deze module ontleedt een vraagkoord in een gegevensstructuur dat door externe onderzoeksmotoren moet worden behandeld. Als voorbeelden van dergelijke motoren, zie Dossier:: In tabelvorm en Onderzoek:: Indexeerder.
Het vraagkoord kan eenvoudige termijnen bevatten, „nauwkeurige uitdrukkingen“, gebiedsnamen en vergelijkingsexploitanten, +/- prefixen, haakjes, en de schakelaars van Boole.
Van de syntactische parser kan door regelmatige uitdrukkingen voor specifieke begrippen van „term“, „gebiedsnaam“ of „exploitant“ worden de parameters bepaald; zie de nieuwe methode. De syntactische parser heeft geen steun voor lemmatization of andere term transformaties: deze zouden uiterlijk moeten worden gedaan, alvorens de structuur van vraaggegevens tot de onderzoeksmotor over te gaan.
De gegevensstructuur als gevolg van een ontlede vraag is een boom van termijnen en exploitanten, zoals die hieronder in wordt beschreven ontleedt methode. De interpretatie van de structuur is tot de externe onderzoeksmotor die de ontlede vraag zal ontvangen; de huidige module maakt geen veronderstelling over wat het om „gelijk betekent te zijn“ of een termijn „bevatten“.
SYNOPSIS
gebruiks Onderzoek:: ContextGraph;
mijn $cg = Onderzoek:: ContextGraph->new ();
# voegt u eerst sommige documenten toe, misschien alles in één keer…
mijn %docs = (
eerste => [olifant, slang],
tweede => [kameel, poney],
derde => {slang => 2, constrictor => 1},
);
$cg->bulk_add (%docs);
# of in een lijn…
foreach mijn $title (sleutels %docs) {
$cg->add ($title, $docs {$title});
}
# of van een dossier…
mijn $cg = Onderzoek:: ContextGraph->load_from_dir („. /myfiles“);
# kunt u een grafiekvoorwerp voor recenter gebruik opslaan
$cg->store („stored.cng“);
# en win het terug later…
mijn $cg = ContextGraph->retrieve („stored.cng“);
# ZOEKEND
# de gemakkelijkste manier
mijn @ranked_docs = $cg->simple_search (pinda's);
# krijg zowel verwante termijnen als doc. voor meer macht terug
mijn ($docs, $words) = $cg->search (slang);
# kunt u een document als uw vraag gebruiken
mijn ($docs, $words) = $cg->find_similar (Eerste Document);
# Of u kunt op een combinatie dingen vragen
mijn ($docs, $words) =
$cg->mixed_search ({doc. => [Eerste Document],
termijnen => [slang, poney]
);
# Print out resultaatreeks teruggekeerde documenten
foreach mijn $k (soort {$docs-> {$b} <=> $docs-> {$a}}
sleutels % {$docs}) {
de druk „Document $k had relevantie“, $docs-> {$k}, „n“;
}
# Herladen het
mijn $new = Onderzoek:: ContextGraph->retrieve („filename“);
De uitspreidende activering is een keurige techniek om onderzoeksmotoren te bouwen die nauwkeurige resultaten voor een vraag terugkeren zelfs wanneer er geen nauwkeurige sleutelwoordgelijke is. De motorwerken door een gegevensstructuur te bouwen riepen een contextgrafiek, die een reuzenetwerk van document en term knopen is. Alle documentknopen worden verbonden met de termijnen die in dat document voorkomen; op dezelfde manier wordt elke term knoop verbonden met alle documentknopen dat de termijn binnen voorkomt. Wij zoeken de grafiek door te beginnen en bij een vraagknoop een vastgestelde hoeveelheid energie te verdelen aan zijn buurknopen. Dan vallen wij recurse, verminderend de energie in elk stadium, tot deze uitspreidende energie onder een bepaalde drempel. Elke knoop houdt spoor van geaccumuleerde energie, en dit dient als onze maatregel van relevantie.
Dit betekent dat de documenten die vele woorden in gemeenschappelijk hebben aan de onderzoeksmotor gelijkaardig zullen lijken. Eveneens, de woorden die samen in vele documenten voorkomen zullen worden waargenomen zoals semantisch verwant. Vooral met grotere, coherente documentinzamelingen, kan de onderzoeksmotor vrij efficiënt zijn bij het erkennen van synoniemen en het vinden van nuttig verband tussen documenten. U kunt een volledige beschrijving van het algoritme in http://www.nitle.org/papers/Contextual_Network_Graphs.pdf lezen.
De onderzoeksmotor geeft uitgebreid rappel (relevante resultaten zelfs wanneer er geen sleutelwoordgelijke) is zonder het soort computer die en octrooikwesties op te lopen door latente semantische te indexeren worden gesteld (LSI). De hier gebruikte techniek werd oorspronkelijk beschreven in een verhandeling van 1981 door Scott Preece.
SYNOPSIS
mijn $test = nieuw Onderzoek:: Vrij (- db => [DB_File, „stories.db“]);
$text->open_index ();
$text->clear_index ();
$text->index_document (1, „Hello wereld“);
$text->index_document (2, „Wereld in motie“);
$text->index_document (3, „Wrede gekke mooie wereld“);
$text->index_document (4, „gekke Hey“);
$text->close_index ();
$text->open_index ();
foreach ($text->search („Gek“, 10)) {
druk „$_-> [0], $_-> [1] n“;
};
$text->close_index ();
Deze module verstrekt vrije teksten die in een vrij open manier zoeken. Het laat een blijvende omgekeerd dossierindex toe om worden geconstrueerd en worden geleid (binnen grenzen), en dan vrij efficiënt worden gezocht. De module hangt van een module DBM van één of andere soort af om het omgekeerde dossier te leiden (DB_File is gewoonlijk de beste keus, aangezien het vrij snel is, vrij scalable, en de lange waarden goedkeurt die voor prestaties nodig zijn.
De vrije tekst die gebruikt die algoritme zoeken is de BM25 wegingsregeling in Robertson, S.E., Leurder, S., Beaulieu, M.M., Gatford, M., en Payne, A. wordt beschreven (1995). Okapi bij trec-4, in NIST Speciale Publicatie 500-236, de Vierde Conferentie van de Herwinning van de Tekst (trec-4), pagina's 73-96.
Veel van de module hangt van een open lexicaal analysesysteem af, dat door Onderzoek: wordt uitgevoerd: Vrij:: LexicalAnalysis. Dit is waar al en woord die verdelen stammen wordt behandeld (Lingua:: De stam wordt gebruikt voor het stammen).
Gebruiken van de module is vrij eenvoudig: u kunt een index openen en het sluiten, en terwijl het open is voegt u documenten als koorden, elk met een sleutel van uw het eigen kiezen toe. U kunt het corpus zoeken gebruikend een koord, en u krijgt een terug lijst van gelijken, elk een serie van uw eigen documentsleutel en een relevantiemaatregel. Zo, bijvoorbeeld, zouden de sleutels de sleutels van de gegevensbestandlijst, URLs, dossiernamen kunnen zijn, zullen iets in die aard doen. Dit maakt Onderzoek:: Vrij een zeer nuttig pakket om vrij efficiënte en hoogstaande onderzoekssystemen uit te voeren.
SYNOPSIS
Doet precies wat het op het tin zegt; kijkt op dingen in de motoren van het Webonderzoek en achter brengt u de resultaten.
GEBRUIK IRC
[onderzoek] < motor > voor < ingang >
Waar < de motor > één van is
AltaVista Dejanews wekt Gopher HotBot Infoseek op
Lycos Magellan PLweb SFgate Eenvoudige Verity Google
De volgende onderzoeksruimten worden gesteund:
Doc.
Gemeenschappelijk Webonderzoek naar documenten (HTML, pdf, doc.,…), met inbegrip van Y! Q contextueel onderzoek.
Beeld
Het onderzoek van het beeld (jpeg, PNG, GIF,…)
Video
Video dossieronderzoek (avi, mpeg, realmedia,…)
Nieuws
Het artikelonderzoek van het nieuws
Lokaal
Yahoo! Lokaal gebied (op pit-code-Gebaseerde geel-Pagina zoals onderzoek)
Termijnen
Een pseudo-onderzoek om de belangrijke onderzoekstermijnen van de verstrekte inhoud of content+query te melden.
Werktijd
Een pseudo-onderzoek om „te halen u betekende?“ spellings suggestie voor een onderzoekstermijn.
Verwant
Een te halen pseudo-onderzoek „probeert“ ook met elkaar in verband brengen-onderzoeken naar een onderzoekstermijn.
(Nota: wat dit Perl API het Onderzoek roept van „Doc.“ is wat Yahoo! van het vraag „Web“ het Onderzoek. Maar gee, arent al onderzoek van het „Web“ van Webonderzoeken, met inbegrip van Beeld/Nieuws/Video/enz.)
Yahoo! s ruwe API, dat dit pakket gebruikt, wordt beschreven bij:
http://developer.yahoo.net/
SYNOPSIS
vereis WWW:: Zoek;
$search = nieuwe WWW:: Zoek (GoTo);
Deze klasse is een specialisatie GoTo van WWW:: Zoek. Het behandelt het maken van en het interpreteren van GoTo onderzoeken www-GoTo.com.
Niets speciaal over GoTo: geen onderzoeksopties. Het lijkt op Google sterk in zoverre dat het aan returm relavent onderzoeksresultaten gebruikend eenvoudige vragen probeert.
Deze klasse voert geen openbare interface uit; al interactie zou door WWW moeten worden gedaan:: De voorwerpen van het onderzoek.
Beschikbare bevelen
! boardsearch < titel > - toont draden en posten de waarvan titel de gezochte woorden bevat.
! boardseen < gebruikersbenaming > - toont toen de gebruiker de laatste tijd in raad werd gezien en toen hij de laatste tijd postte.
! het laatst - toont de recentste draden/de posten (het bedrag is configureerbaar).
! topposter - toont gebruikers met de meeste posten.
! foren (slechts voor gevormd admins) - toont de raad van wie draden/de posten in IRC (hoofdzakelijk voor het zuiveren doeleinden) zullen worden gepost.
! lastusers (slechts voor gevormd admins) - toont de laatste registratie.
SYNOPSIS
gebruik WWW:: Zoek;
mijn $oSearch = nieuwe WWW:: Zoek (Yahoo);
mijn $sQuery = WWW:: Zoek:: escape_query („sushirestaurant Columbus Ohio“);
$oSearch->native_query ($sQuery);
terwijl (mijn $oResult = $oSearch->next_result ())
druk $oResult->url, „n“;
Deze klasse is een specialisatie Yahoo van WWW:: Zoek. Het behandelt het maken van en het interpreteren van Yahoo onderzoeken http://www.yahoo.com.
Deze klasse voert geen openbare interface uit; al interactie zou door WWW moeten worden gedaan:: De voorwerpen van het onderzoek.
SYNOPSIS
gebruik WWW:: Zoek;
mijn $oSearch = nieuwe WWW:: Zoek (Nomade);
$oSearch->maximum_to_retrieve (100);
#$oSearch - > {_debug} =1;
# Cre
SYNOPSIS
vereis WWW:: Zoek;
$search = nieuwe WWW:: Zoek (OpenDirectory);
Deze klasse gebruikt de Open motor http://dmoz.org van de Folder. Yahoo! type folder die gehandhaafde gebruiker is. Zeer aardig!
Afzonderlijke onderzoekstermijnen met en om alle woorden te omvatten. Keurt dubbele citaten voor uitdrukking goed zoekend: „Reis DE Frankrijk“
Deze klasse voert geen openbare interface uit; al interactie zou door WWW moeten worden gedaan:: De voorwerpen van het onderzoek.
SYNOPSIS
gebruik WebService:: GoogleHack:: Zoek;
#create een voorwerp van typeonderzoek
mijn $search = GoogleHack:: Search->new ();
#Query Google.
$search->searchPhrase ($searchString);
#The de resultatenvariabele zal nu de resultaten van uw vraag bevatten.
het #Printing van searchtime
de Tijd van het druk „n Onderzoek“. $search-> {searchTime};
het #Printing van fragmentelement 0
druk „nnSnippet“. $search-> {fragment} - > [0];
Deze module verstrekt een eenvoudige interface aan Google API. Het wordt gebruikt door de module GoogleHack.
SYNOPSIS
gebruik WWW:: Zoek; $query = „Bob Hope“; $search = nieuwe WWW:: Zoek (YahooNews); $search->native_query (WWW:: Zoek:: escape_query ($query)); $search->maximum_to_retrieve (100); terwijl (mijn $result = $search->next_result ()) {
$url = $result->url; $title = $result->title; $desc = $result->description;
druk
$desc
n "; }
Deze klasse is een specialisatie Yahoo van WWW:: Zoek. Het behandelt het maken van en het interpreteren van de Onderzoeken van het Nieuws Yahoo. Yahoo staat zoekend een grote verscheidenheid van nieuwsbronnen zoals seconde en PRWire toe om enkelen te noemen. http://www.search.news.yahoo.com.
HOE WERKT HET?
native_setup_search wordt geroepen (van WWW:: Zoek:: setup_search) alvorens wij om het even wat doen. Het initialiseert onze privé variabelen (diemet allen met onderstreepteken) beginnen en reeksen - omhoog een URL aan de eerste resultatenpagina binnen {_next_url}.
native_retrieve_some wordt geroepen (van WWW:: Zoek:: retrieve_some) wanneer meer klappen nodig zijn. Het roept WWW:: Zoek:: het meest http_request om de langs gespecificeerde pagina te halen {_next_url}. Het ontleedt dan deze pagina, toevoegend om het even welke onderzoeksklappen het vindt {geheim voorgeheugen}. Als het een volgende knoop ``in de tekst vindt, plaatst het {_next_url} om aan de pagina voor de volgende reeks resultaten te richten, anders plaatst het het aan undef om te wijzen op werden gedaan.
