Fulltext search in jackrabbit - Ricerca fulltext in jackrabbit

La JSR-170 definisce una serie di API adatte alla risoluzione delle problematiche quali versionamento e l'indicizzazione dei contenuti per ricerche full-text.
Apache Jackrabbit costiuisce una implementazione di tale specifica.
Di seguito, in particolare, descrivo come effettuare la ricerca fulltext.
Occorre modificare il file workspace.xml ed inserire i diversi extracor, consigliabile inserirli tutti
param name="textFilterClasses" value= "org.apache.jackrabbit.extractor.PdfTextExtractor,
org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,
org.apache.jackrabbit.extractor.RTFTextExtractor"
Dopo aver caricato il file, che si intende indicizzare, nel repository:
File nameFile = new File("/home/rosalba/Scrivania/fileodt.odt");
try {
String mimeType = getMimetype(nameFile);
Node root = session.getRootNode();
Calendar lastModified = Calendar.getInstance();
lastModified.setTimeInMillis( nameFile.lastModified() );
Node fileNode = session.getRootNode().addNode("myfile", "nt:file");
Node resNode = fileNode.addNode("jcr:content", "nt:resource");
resNode.setProperty("jcr:mimeType", mimeType);
resNode.setProperty("jcr:lastModified", lastModified);
resNode.setProperty("jcr:encoding", "");
resNode.setProperty("jcr:data", new FileInputStream(nameFile));
session.save();
Ecco la ricerca:
Node root = session.getRootNode();
wrk = session.getWorkspace();
//dump(root);
try {
QueryManager qm = wrk.getQueryManager();
Query q = qm.createQuery("//*[jcr:contains(.,'testoDaCercare')] ", Query.XPATH);
QueryResult res = q.execute();
NodeIterator it = res.getNodes();
if (!it.hasNext())
System.out.println("No records found...");
while (it.hasNext()) {
Node n = it.nextNode();
dump(n);
}
} catch (InvalidQueryException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RepositoryException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Attenzione al log, potrebbe essere necessario caricare le librerie:
FontBox.jar e PDFBox-0.7.3.jar
Ma la cosa più interessante è l'allegato, contenente l'intero codice! ;-)
| Allegato | Dimensione |
|---|---|
| search_fulltext.tar.gz | 337.11 KB |
- Aggiungi un commento
- 762 letture
Una Viola Rosa
Commenti recenti
4 days 6 hours fa
6 days 7 hours fa
2 weeks 3 days fa
8 weeks 3 days fa
26 weeks 2 days fa
28 weeks 5 days fa
29 weeks 1 giorno fa
30 weeks 11 hours fa
30 weeks 5 days fa
36 weeks 1 giorno fa