Raccolta, ranking e query delle pagine di un webgraph

Slides:



Advertisements
Presentazioni simili
Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Advertisements

L’esperienza di un valutatore nell’ambito del VII FP Valter Sergo
Teoria e Tecniche del Riconoscimento
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
Modalità di ricerca semantica nelle Biblioteche digitali Maria Teresa Biagetti DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO-FILOLOGICHE E GEOGRAFICHE.
EBRCN General Meeting, Paris, 28-29/11/20021 WP4 Analysis of non-EBRCN databases and network services of interest to BRCs Current status Paolo Romano Questa.
SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
Seam.
E Windows SharePoint Services 2.0 Ivan Renesto Overview how to use Windows SharePoint Services.
Un DataBase Management System (DBMS) relazionale client/server.
Raffaele Cirullo Head of New Media Seconda Giornata italiana della statistica Aziende e bigdata.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Pierluigi Plebani - Politecnico di Milano MAIS Registry URBE (Uddi Registry By Example) WP2 Roma - 25 Novembre 2005.
J0 1 Marco Ronchetti - Corso di Formazione Sodalia – Febbraio 2001 – Modulo Web Programming Tomcat configuration.
EJB Getting started Database: MySql Application Server: Pramati Server Ambiente di sviluppo: Pramati Studio 3 Applicazione esempio: Logon Trento, 30/10/2002.
prompt> java SumAverage
HDM Information Design notation v.4. HDM Information Design.
Directory services Directory offline –Elenchi telefonici –Guide TV –Cataloghi acquisti Directory online –Application specific (lotus notes, MS Exchange.
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Managing Gigabytes for Java MG4J Indicizzazione ed interrogazione di basi di documenti Ilaria Bordino e Debora Donato.
MG4J – Managing GigaBytes for Java Indicizzazione ed interrogazione di una collezione di documenti Esercitazione Ilaria Bordino Yahoo! Research, Barcelona.
Hadoop: introduzione (1)
Crawling Ida Mele Sapienza Università di Roma Ilaria Bordino Ida Mele
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Metadati gestionali e amministrativi per oggetti digitali nativi Antonio Scolari Seminario nazionale sui metadati Roma, 3 aprile 2001.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Vision Caratteristica generica– disponibile a livello generale Possibilità di personalizzazione Facile da usare (What you see is what you get)
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Constraints.
Componenti dell’architettura Oracle
Voci di spesa e documentazione di supporto Daniela Michelino Rapp. TN MED – Commissione Mista.
Concord A tool for the analysis and concordances of the terminological constituents P. Plini, N. Mastidoro* * - Èulogos, Rome Institute for Atmospheric.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
1 © 2013 Cobra Italia SpA All rights reserved Cobra group website Gennaio 2013.
© 2008 WS (WebScience srl) – All rights reserved WS Tech workshop Software Construction.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Sito IntergruppoParma.it Nuovo Intergruppo Parma.
Mobile e Social per portare traffico nei negozi H&m Isabella Federico.
Tutorial relativo al Mio EBSCOhost. Benvenuti al tutorial dedicato a Mio EBSCOhost, verranno fornite le istruzioni per la configurazione e lutilizzo ottimizzato.
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web: modelli per la qualità dei siti (Ingegneria del Web)
Andrea Petricca Problematiche di rete nella sperimentazione di file-system distribuiti su WAN per applicazioni di GRID-Computing Rapporto trimestrale attività
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
Project Review byNight byNight December 6th, 2011.
Attribution-NonCommercial-ShareAlike Le novità
Attribution-NonCommercial-ShareAlike Le novità
Scoprirete che su Office non si può solo contare ma anche sviluppare.
Personalizzazione e porting delle procedure esterne connesse ad Aleph Il caricamento degli utenti della circolazione da files esterni Modifiche introdotte.
Installazione di Drupal su Linux (sistemista) Installazione step-by-step e note.
Elaborazioni server-side: dalle CGI al PHP
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 21th, 2011.
Project Review byNight byNight December 6th, 2011.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 5th, 2011.
Collection & Generics in Java
Introduction to automatic ABMs documentation Keywords: Doxygen ODD protocol MASON documentation Simone Romano.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Creare un server casalingo - 2
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Accesso al corpus it. / ing. parola cercata sintagmi preposizioni.
Transcript della presentazione:

Raccolta, ranking e query delle pagine di un webgraph Ilaria Bordino

Programma della lezione Nutch: un motore di ricerca configurabile dall’utente Esecuzione di Pagerank sul grafoDIS; Esecuzione di HITS sul grafoDIS; Indicizzazione delle pagine html del grafo DIS in MG4J; Query da riga di comando usando MG4J;

Software opne source costruito al top di Jakarta Lucene Nutch Framework Apache per la costruzione di crawler scalabili e applicazioni per Web Search Software opne source costruito al top di Jakarta Lucene Disponibile gratuitamente presso http://lucene.apache.org/nutch/ MG4J -- Managing GigaBytes for Java Ilaria Bordino

Java API per lo sviluppo di motori di ricerca testuali Jakarta Lucene Java API per lo sviluppo di motori di ricerca testuali Non applicazione ma API che consente la realizzazione di search applications customizzate in base alle specifiche esigenze degli sviluppatori. Grande comunità di sviluppatori Tecnologia usata nello sviluppo di molti siti e applicazioni web (furl, zoe, jira, lookout) http://jakarta.apache.org/lucene MG4J -- Managing GigaBytes for Java Ilaria Bordino

Lucene: principali caratteristiche Indicizzazione scalabile e performante Algoritmi per la Search potenti, accurati ed efficienti: Include supporto per ranked searching, fielded searching, wildcard queries, phrase queries, proximity queries, range queries and more Ricerca su molteplici indici con merging dei risultati Permette esecuzione simultanea di update e search Cross platform solution: 100% java, disponibile come software open source MG4J -- Managing GigaBytes for Java Ilaria Bordino

Giovane progetto open source Nutch Giovane progetto open source Software per lo sviluppo di applicazioni per Web Search Non è un sito di ricerca ma intende essere un mezzo per potenziare molti siti di ricerca Non è un progetto di ricerca ma intende essere un supporto per la ricerca Obiettivo: incrementare la disponibilità di tecnologie per Web Search Obiettivo: aumentare la trasparenza nella web search. MG4J -- Managing GigaBytes for Java Ilaria Bordino

Nutch: Obiettivi tecnici Scalare all’intero Web: milioni di server differenti, miliardi di pagine: il completamento di un crawl richiede settimane e c’è molto rumore nei dati Supporto per traffico elevato (migliaia di ricerche al secondo) Qualità paragonabile allo stato dell’arte per la search. MG4J -- Managing GigaBytes for Java Ilaria Bordino

Nutch: Architettura MG4J -- Managing GigaBytes for Java Ilaria Bordino

Nutch: motore di ricerca configurabile dall'utente Permette la raccolta delle pagine, l’indicizzazione e l’interrogazione delle pagine web. INPUT: un set di pagine html OUTPUT: motore di ricerca sulle pagine raccolte USO: raccolta di pagine e ricerca sulla collezione indicizzata

Disponibile gratuitamente in http://www.nutch.org Nutch: download Disponibile gratuitamente in http://www.nutch.org Tutorial: http://www.nutch.org/tutorial.html Presentazione generale del codice: http://www.nutch.org/apidocs/overview-summary.html Ultimaversione: http://www.nutch.org/release (il file nutch-0.7.tar.gz)‏

Nutch: configurazione Java 1.4.x (http://java.sun.com/j2se/downloads.html)‏ Tomcat di Apache 4.x (http://jakarta.apache.org/tomcat)‏ Almeno un gigabyte su disco; Connessione Internet veloce;

Nutch: configurazione Inizializzare NUTCH_JAVA_HOME con la directory radice di Java. edit .bashrc per inserire “export NUTCH_JAVA_HOME=/usr/local/lib/j2sdk1.4.2_03” MAC OS: export NUTCH_JAVA_HOME=/Library/Java/Home Aggiungere nutch/bin al PATH edit .bashrc per inserire “export PATH=$PATH:nutch/bin ”

Nutch: Configurazione A partire dalla versione 0.8 è necessario configurare alcuni parametri come l’identificatore dello user-agent. Editare il file conf/nutch-site.xml settando alcune proprietà minimali: <property> <name>http.agent.name</name> <value></value> <description>HTTP 'User-Agent' request header. MUST NOT be empty - please set this to a single word uniquely related to your organization. </description> </property> MG4J -- Managing GigaBytes for Java Ilaria Bordino

Nutch: Configurazione NOTE: You should also check other related properties: http.robots.agents http.agent.description http.agent.url http.agent.email http.agent.version and set their values appropriately. MG4J -- Managing GigaBytes for Java Ilaria Bordino

Nutch: configurazione <property> <name>http.agent.description</name> <value></value> <description>Further description of our bot- this text is used in the User-Agent header. It appears in parenthesis after the agent name. </description></property><property> <name>http.agent.url</name> <value></value> <description>A URL to advertise in the User-Agent header. This will appear in parenthesis after the agent name. Custom dictates that this should be a URL of a page explaining the purpose and behavior of this crawler. </description></property><property> <name>http.agent.email</name> <value></value> <description>An email address to advertise in the HTTP 'From' request header and User-Agent header. A good practice is to mangle this address (e.g. 'info at example dot com') to avoid spamming. </description></property> MG4J -- Managing GigaBytes for Java Ilaria Bordino

Crawlare il Web con Nutch Nutch è stato progettato per la gestione di crawl su larga scala, che siano eseguiti in un sistema distribuito e che possono richiedere molto tempo (settimane) per il completamento. I dati raccolti sono organizzati nel modo seguente: Crawldb: database del crawl. Contiene info su ogni url nota a nutch, incluso se/quando è stato fatto fetching; Linkdb: database dei link. Contiene inlink noti a tutte le url raccolte, riportando url sorgente e anchor text; Un insieme di segmenti; un segmento è un insieme di URL considerate come un’unità durante il fetching. Indici: nel formato supportato da Lucene MG4J -- Managing GigaBytes for Java Ilaria Bordino

Crawlare il Web con Nutch Un segmento è una directory che contiene le seguenti sottodirectory: crawl_generate contiene elenco URL di cui bisogna fare il fetching crawl_fetch contiene lo stato di fetching di ogni URL Content: mantiene il contenuto associato a ogni URL parse_text contiene il testo estratto con il parsing da ogni URL parse_data contiene outlink e metadata estratti con il parsing crawl_parse contiene gli outlink, usati per aggiornare crawldb MG4J -- Managing GigaBytes for Java Ilaria Bordino

Nutch: due approcci al crawling Intranet crawling, usando il comando crawl: scelta appropriata se si vuole effettuare un crawl di dimensioni limitate, fino a 1M pagine Whole-Web crawling: da utilizzare per crawl molto estesi, che abbiano bisogno di una quantità notevole di tempo e di risorse computazionali. Maggiore controllo usando comandi a più basso livello: inject, fetch, generate, updatedb. MG4J -- Managing GigaBytes for Java Ilaria Bordino

Raccolta delle pagine del DIS Creare il file dis/urls e inserire la home page Ex: http://www.dis.uniroma1.it Modificare il file nutch-0.6/conf/crawl-urlfilter.txt per personalizzare la raccolta Aggiungere +^http://([a-z0-9]*\.)*dis.uniroma1.it/ per limitare la raccolta alle pagine al dominio dis.uniroma1.it Inizializzare crawldb

Raccolta delle pagine del DIS Lista di parametri: nutch crawl -dir <dir-name>: directory dove saranno memorizzati i resultati della raccolta -depth <depth>: profondita’ dei path a partire dalla pagina radice delay <delay>: intervallo di tempo, in secondi, fra due consecutive richieste su uno stesso host. -threads <thread>: numero di threads eseguiti in parallelo Esecuzione del crawl: nutch crawl urls -dir mycrawl -depth 3 >& mycrawl.log NON ESEGUIRE A LEZIONE

<crawldb>directory name where crawldb is located Interrogazione del DB Usage: CrawlDbReader <crawldb> (-stats | -dump <out_dir> | -topN <nnnn> <out_dir> [<min>] | -url <url>) <crawldb>directory name where crawldb is located -stats [-sort] print overall statistics to System.out [-sort]list status sorted by host-dump <out_dir> [-format normal|csv ]dump the whole db to a text file in <out_dir>[-format csv]dump in Csv format[-format normal]dump in standard format (default option) -url <url>print information on <url> to System.out -topN <nnnn> <out_dir> [<min>]dump top <nnnn> urls sorted by score to <out_dir>[<min>]skip records with scores below this value.This can significantly improve performance. MG4J -- Managing GigaBytes for Java Ilaria Bordino

Interrogazione del DB: readlinkdb Usage: LinkDbReader <linkdb> {-dump <out_dir> | -url <url>) -dump <out_dir> dump whole link db to a text file in <out_dir> -url <url> print information about <url> to System.out Dopo aver eseguito un crawl possiamo analizzare la struttura degli hyperlink della collezione raccolta. nutch readlinkdb mycrawl/linkdb/ -dump mylinks Il comando crea una directory chiamata mylinks che conterrà informazioni sugli inlink delle URL create in semplice formato testuale. MG4J -- Managing GigaBytes for Java Ilaria Bordino

Interrogazione del DB: readlinkdb more mylinks/part-00000 http://www.dis.uniroma1.it/~wine09/#ja-col2Inlinks: fromUrl: http://www.dis.uniroma1.it/~wine09/ anchor: Skip to second columnhttp://www.dis.uniroma1.it/~wine09/#ja-contentInlinks: fromUrl: http://www.dis.uniroma1.it/~wine09/ anchor: Skip to contenthttp://www.dis.uniroma1.it/~wine09/#ja-mainnavInlinks: fromUrl: http://www.dis.uniroma1.it/~wine09/ anchor: Skip to main navigationhttp://www.dis.uniroma1.it/~wine09/index.phpInlinks: fromUrl: http://www.dis.uniroma1.it/~wine09/ anchor: WINE'09, the fifth Workshop on Internet & Network Economicshttp://www.dis.uniroma1.it/~wine09/media/system/js/cap tion.jsInlinks: fromUrl: http://www.dis.uniroma1.it/~wine09/ anchor: http://www.dis.uniroma1.it/~wine09/media/system/js/mootools.jsInli nks: fromUrl: http://www.dis.uniroma1.it/~wine09/ anchor: egrep -v $'^$' mylinks/part-00000 >inlinks.txt MG4J -- Managing GigaBytes for Java Ilaria Bordino

Estrazione degli outlink Il database linkdb fornisce informazioni relavimente ai soli link entranti. Per estrarre gli outlink dai dati raccolti dobbiamo leggere I segmenti. Usiamo il comando readseg Usage: SegmentReader (-dump ... | -list ... | -get ...) [general options]* General options:-nocontentignore content directory-nofetchignore crawl_fetch directory- nogenerateignore crawl_generate directory-noparseignore crawl_parse directory- noparsedataignore parse_data directory-noparsetextignore parse_text directory* SegmentReader -dump <segment_dir> <output> [general options] Dumps content of a <segment_dir> as a text file to <output>.<segment_dir>name of the segment directory.<output>name of the (non-existent) output directory.* SegmentReader -list (<segment_dir1> ... | -dir <segments>) [general options] List a synopsis of segments in specified directories, or all segments in a directory <segments>, and print it on System.out<segment_dir1> ...list of segment directories to process-dir <segments>directory that contains multiple segments* SegmentReader -get <segment_dir> <keyValue> [general options] Get a specified record from a segment, and print it on System.out.<segment_dir>name of the segment directory.<keyValue>value of the key (url).Note: put double-quotes around strings with spaces. MG4J -- Managing GigaBytes for Java Ilaria Bordino

Estrazione outlink: merging dei vari segmenti Usiamo il comando mergeseg per fondere i vari segmenti ottenuti con il crawling nutch mergesegs whole-segments mycrawl/segments/* Quindi usiamo il comando readseg per estrarre outlink dal segmento globale ottenuto nutch readseg -dump whole-segments/20091110143344/ dump-outlinks cat dump-outlinks/dump | egrep 'URL|toUrl' >outlinks.txt MG4J -- Managing GigaBytes for Java Ilaria Bordino

Lista degli outlink URL:: http://www.uniroma1.it/studenti/stranieri/default.phpURL:: http://www.uniroma1.it/studenti/stranieri/chinadesk.phpURL:: http://www.uniroma1.it/studenti/stranieri/URL:: http://www.uniroma1.it/studenti/sort/default.phpURL:: http://www.uniroma1.it/studenti/serviziutilita/counseling.phpURL:: http://www.uniroma1.it/studenti/segreterie/default.phpURL:: http://www.uniroma1.it/studenti/scuole/default.php outlink: toUrl: http://www.uniroma1.it/ufficiostampa/identita.php anchor: Identit? visiva outlink: toUrl: http://www.uniroma1.it/sitemap.php anchor: Sitemap outlink: toUrl: http://www.merchandising.uniroma1.it/ anchor: Merchandising outlink: toUrl: http://www.uniroma1.it/eletel/telefoni/default.php anchor: Elenco telefonico outlink: toUrl: http://www.uniroma1.it/contatti/ anchor: Contatti outlink: toUrl: http://www.uniroma1.it/about/ anchor: Chi siamo outlink: toUrl: http://www.uniroma1.it/studenti/cultura/iniziative.php anchor: Iniziative culturali proposte dagli studenti (finanziate dall?universit?) outlink: toUrl: http://w3.uniroma1.it/cta/index.asp anchor: Laboratorio teatrale outlink: toUrl: http://www.uniroma1.it/cappella/ anchor: Cappella universitaria outlink: toUrl: http://www.dssp.uniroma1.it/gong/educazionenutrizionalegastronomica.htm anchor: Servizio di educazione nutrizionale e gastronomica outlink: toUrl: http://www.uniroma1.it/studenti/serviziutilita/counseling.php anchor: Servizi di counseling psicologico outlink: toUrl: http://www.cattid.uniroma1.it/index.html anchor: Postazioni per l?utilizzo di pc e connessioni internet outlink: toUrl: http://www.campus.uniroma1.it/studenti/ anchor: Distribuzione gratuita di software MG4J -- Managing GigaBytes for Java Ilaria Bordino

Creazione della lista dei link java nutchGraph.PrintInlinks inlinks.txt >links.txt java nutchGraph.PrintOutlinks outlinks.txt >>links.txt Rimozione di eventuali duplicati: LANG=C sort links.txt | uniq >cleaned-links.txt head cleaned-links.txt http://www.dis.uniroma1.it/~wine09/http://www.dis.uniroma1.it/~wine09/#ja- col1http://www.dis.uniroma1.it/~wine09/http://www.dis.uniroma1.it/~wine09/#ja- col2http://www.dis.uniroma1.it/~wine09/http://www.dis.uniroma1.it/~wine09/#ja- contenthttp://www.dis.uniroma1.it/~wine09/http://www.dis.uniroma1.it/~wine09/#ja- mainnavhttp://www.dis.uniroma1.it/~wine09/http://www.dis.uniroma1.it/~wine09/index. phphttp://www.dis.uniroma1.it/~wine09/http://www.dis.uniroma1.it/~wine09/media/syst em/js/caption.jshttp://www.dis.uniroma1.it/~wine09/http://www.dis.uniroma1.it/~wine09 /media/system/js/mootools.jshttp://www.dis.uniroma1.it/~wine09/http://www.dis.unirom a1.it/~wine09/modules/mod_briaskISS/mod_briaskISS.jshttp://www.dis.uniroma1.it/~w ine09/http://www.dis.uniroma1.it/~wine09/templates/ja_purity/js/ja.rightcol.jshttp://www .dis.uniroma1.it/~wine09/http://www.dis.uniroma1.it/~wine09/templates/ja_purity/js/ja.s cript.js MG4J -- Managing GigaBytes for Java Ilaria Bordino

Creazione mappa delle URL cut -f1 links.txt >url-list.txt cut -f2 links.txt >>url-list.txt LANG=C sort url-list.txt | uniq >sorted-url-list.txt java -Xmx2G it.unimi.dsi.util.FrontCodedStringList -u -r 32 umap.fcl < sorted-url-list.txt java -Xmx2G it.unimi.dsi.mg4j.util.MinimalPerfectHash --offline sorted-url-list.txt -c it.unimi.dsi.mg4j.util.HashCodeSignedMinimalPerfectH ash -s umap.smph MG4J -- Managing GigaBytes for Java Ilaria Bordino

numNodes=$(wc -l < webgraph.dat ) Creazione del grafo java -Xmx2G nutchGraph.PrintEdges cleaned-links.txt umap.smph > webgraph.dat numNodes=$(wc -l < webgraph.dat ) java -Xmx2G nutchGraph.IncidenceList2Webgraph $numNodes webgraph java -Xmx2G it.unimi.dsi.webgraph.BVGraph -g ASCIIGraph webgraph webgraph MG4J -- Managing GigaBytes for Java Ilaria Bordino

Download delle pagine html Procediamo all' indicizzazione delle pagine raccolte da Nutch mediante MG4J. Le pagine devono essere precedentemente scaricate, visto che non e’ possible ottenerle dal db di Nutch Scaricare le pagine: wget -N pagine –I sorted-url-list.txt

WEB readdb Nutch ParserDB db getfiles txt2IPS files RankPG PageRank Link structure ParserDB db graph.txt getfiles txt2IPS files PageRank RankPG QueryMG4J IPS MG4J Query HITS RankHITS

Indicizzazione delle pagine html Costruzione della base documentale: find ../htmlDIS -type f | java it.unimi.dsi.mg4j.document.FileSetDocumentCollectio n -f it.unimi.dsi.mg4j.document.HtmlDocumentFactory htmldis.collection Creazione dell’indice: java -Xmx512M it.unimi.dsi.mg4j.tool.Index -- downcase -S htmldis.collection collectionDIS

MG4J: Scorer Tra gli scorer di MG4J : clarkeComarckScorer: documentazione in Class ClarkeCormarkScorer di MG4J DocumentRankScorer: assegna un rank pre-calcolato alle pagine. Il “default” e’ il resultato di query booleana: le pagine sono ritornate in ordine crescente di suei ID.

Interrogazione da riga di comando java it.unimi.dsi.mg4j.query.Query –help Uso: java Query -c collection collectionBaseName1 collectionBaseName2 java -Xmx512M it.unimi.dsi.mg4j.query.Query -c htmldis.collection collectionDIS-text collectionDIS-title [!help]>Dipartimento Redirezionare la query su un file di output (outFile)‏ grep "Document #" outFile | more

WEB readdb Nutch ParserDB db getfiles txt2IPS files RankPG PageRank Link structure ParserDB db graph.txt getfiles txt2IPS files PageRank RankPG RankMG4J IPS MG4J Query HITS RankHITS