miércoles, 29 de julio de 2015

Lucene en 5 minutos - con-Lucene Tutorial.com

Lucene en 5 minutos
Ahora actualizado para Lucene 4.0!
Lucene hace que sea fácil agregar texto completo de la capacidad de búsqueda a su aplicación. De hecho, es tan fácil, yo voy a mostrar cómo en 5 minutos!
1. Índice
Para este caso simple, vamos a crear un índice en la memoria de algunas cadenas.
StandardAnalyzer analizador = new StandardAnalyzer(Versión.LUCENE_40);
IndexWriterConfig config = new IndexWriterConfig(Versión.LUCENE_40, analizador);
IndexWriter w = new IndexWriter(índice, config);
addDoc(w, "Lucene en Acción", "193398817");
addDoc(w, "Lucene para Dummies", "55320055Z");
addDoc(w, "la Gestión de Gigabytes", "55063554A");
addDoc(w, "el Arte de La Ciencia de la computación", "9900333X");
w.close();
addDoc() es lo que realmente añade documentos para el índice:
private static void addDoc(IndexWriter w, String titulo, String isbn) throws IOException {
El documento doc = new Document();
}

Nota el uso de TextField para el contenido que queremos acorta, y StringField los campos de id y similares, que no queremos que se acorta.
2. Consulta
Leemos la consulta de stdin, analizar y construir una lucene Consulta fuera de él.
Cadena de querystr = args.longitud > 0 ? args[0] : "lucene";
Consulta p = new QueryParser(Versión.LUCENE_40, "título", el analizador).parse(querystr);


3. Búsqueda
El uso de la Consulta que crear un Buscador para buscar en el índice. A continuación, un TopScoreDocCollector se crea una instancia para recoger el top 10 de puntuación hits.
int hitsPerPage = 10;
Ahora que tenemos los resultados de nuestra búsqueda, nos mostrar los resultados al usuario.
Sistema..println("Encontrado" + hits.longitud + " hits.");
for(int i=0;i<hits.length;++i) {
int docId = hits[i].doc;
El documento d = searcher.doc(docId);
Sistema..println (i + 1) + ". "+ d.get("isbn") + "\t" + d.get("title"));
}
Aquí está la aplicación en su totalidad. Descargar HelloLucene.java

public static void main(String[] args) throws IOException, ParseException {
// 0. Especificar el analizador para el encadenamiento de texto.
// El mismo analizador debe ser utilizado para la indización y la búsqueda de
StandardAnalyzer analizador = new StandardAnalyzer(Versión.LUCENE_40);
IndexWriterConfig config = new IndexWriterConfig(Versión.LUCENE_40, analizador);
IndexWriter w = new IndexWriter(índice, config);
addDoc(w, "Lucene en Acción", "193398817");
addDoc(w, "Lucene para Dummies", "55320055Z");
addDoc(w, "la Gestión de Gigabytes", "55063554A");
addDoc(w, "el Arte de La Ciencia de la computación", "9900333X");
w.close();
Cadena de querystr = args.longitud > 0 ? args[0] : "lucene";
// el "título" de arg especifica el valor de campo para uso
// cuando el campo no se especifica explícitamente en la consulta.
Consulta p = new QueryParser(Versión.LUCENE_40, "título", el analizador).parse(querystr);
// 3. búsqueda
for(int i=0;i<hits.length;++i) {
int docId = hits[i].doc;
El documento d = searcher.doc(docId);
Sistema..println (i + 1) + ". "+ d.get("isbn") + "\t" + d.get("title"));
}
// lector sólo <a href="http://perros.blogspot.com/">puede</a> ser cerrado cuando no
// no es necesario para acceder a los documentos.
lector.close();
private static void addDoc(IndexWriter w, String titulo, String isbn) throws IOException {
El documento doc = new Document();
// uso de un campo de cadena de isbn, porque no queremos que se acorta
doc.add(new StringField("isbn", isbn, de Campo.De la tienda.SÍ));
Para utilizar esta aplicación desde la línea de comandos, escriba java HelloLucene <query>
Donde a partir de aquí?
Aprender más sobre los conceptos básicos de Lucene conceptos
Popular libros relacionados con Lucene y búsqueda

Cortesía de Mac Luq, un repo en GitHub con Mavenized fuente está disponible aquí: https://github.com/macluq/helloLucene .
Conseguir con:
PS: Si eres nuevo en Java...
Intente esto:
2. Lucene para Dummies
Erik, un amable lector nos lo explica:
La compilación fue sin problemas. Sin embargo no pude ejecutar el código. Después de algunas búsquedas en línea y experimentar, me enteré de que...la inclusión de ambos . y Lucene jarfile en la ruta de clase fue crucial para conseguir que las cosas funcionen. Esto podría ser un truco muy útil para otros principiantes que, como yo, no tienen mucha experiencia con la creación de la clase de Java camino.
La Instalación De Lucene
PS: Su llegado a mi atención que algunos visitantes han dificultad en la instalación de Lucene en el primer lugar.
Usted debe primero descargar Lucene y descomprímelo en un directorio que uso para java o de programación.
Si usted está usando Netbeans <a href="http://perros.blogspot.com/">puede</a>:
- Siga las instrucciones aquí
- Siga estos pasos:
Agregar el archivo jar a Netbeans como una biblioteca externa seleccionando "Herramientas" en la barra de menú y, a continuación, seleccionando la opción "Administrador de la Biblioteca'.
Ir al proyecto. Haga clic derecho sobre el proyecto que usted necesita para usar Lucene. Seleccione 'Propiedades'.
En el cuadro de diálogo, seleccione "Bibliotecas" y, a continuación, seleccione la opción "Add Jar/Folder".
Navegar hasta el directorio que se creó a partir de lucene-[versión].tar.gz. Seleccione lucene-core-[version].jar.
Haga clic en "ACEPTAR" en el cuadro de diálogo. El archivo jar ahora se ha agregado a su proyecto.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.