LuceneTutorial.com
Lucene La Sintaxis De La Consulta
Lucene tiene una costumbre de la sintaxis de la consulta para la consulta de sus índices. Aquí están algunos ejemplos de consultas de la demostración de la sintaxis de la consulta.
Concordancia de palabras clave
Búsqueda de la palabra "foo" en el campo título.
título:foo
La búsqueda de la frase "foo bar" en el campo título.
título:"foo bar"
La búsqueda de la frase "foo bar" en el campo título Y la frase "rápido fox" en el campo de cuerpo.
título:"foo bar" Y el cuerpo:"rápido fox"
La búsqueda de la frase "foo bar" en el campo título Y la frase "rápido fox" en el campo de cuerpo, o de la palabra "zorro" en el campo título.
(título:"foo bar" Y el cuerpo:"rápido fox") O título:fox
Búsqueda de la palabra "foo" y no de "bar" en el campo título.
título:foo-título:bar
La búsqueda de cualquier palabra que comience con "foo" en el campo título.
título:foo*
La búsqueda de cualquier palabra que comience con "foo" y termina con la barra en el campo de título.
título:foo*bar
Tenga en cuenta que Lucene no admite el uso de un símbolo * como el primer carácter de una búsqueda.
La proximidad de coincidencia
Lucene apoya la búsqueda de palabras dentro de una determinada distancia.
De la búsqueda para "foo bar" dentro de las 4 palabras de cada uno de los otros.
"foo bar"~4
Tenga en cuenta que para las búsquedas de proximidad, coincidencias exactas son la proximidad a cero, y la palabra transposiciones (bar foo) son de proximidad 1.
Una consulta como "foo bar"~10000000 es una alternativa muy interesante a los foo Y bar.
Mientras tanto las consultas son efectivamente equivalentes con respecto a los documentos que se devuelven, la proximidad de la consulta asigna una puntuación más alta a los documentos para que los términos foo y bar están más cerca.
El trade-off, es que la proximidad de la consulta es más lento de realizar y requiere más recursos de la CPU.
Solr DisMax y eDisMax consulta de los analizadores <a href="http://perros.blogspot.com/">puede</a>n agregar frase de proximidad de los partidos a la consulta de un usuario.
Las búsquedas por rango de
Rango de las Consultas permiten a uno para que coincida con los documentos cuyo campo(s) los valores están entre el límite inferior y el límite superior especificado por la Consulta de Rango. Las Consultas de rango <a href="http://perros.blogspot.com/">puede</a>n ser inclusivas o exclusivas de los límites superior e inferior. La clasificación se basa en un criterio lexicográfico.
mod_date:[20020101 A 20030101]
Solr incorporado en los tipos de campo son muy convenientes para la realización de las consultas de rango en los números sin necesidad de relleno.
Aumenta
Consulta en tiempo aumenta permiten especificar qué términos o cláusulas son "más importantes". El más alto es el factor de impulso, el más relevante el plazo será, y por lo tanto mayor será el correspondiente documento de puntuaciones.
Un típico impulsar la técnica es la asignación de mayores aumenta a título coincide con que el cuerpo del contenido de partidos:
(título:foo O título:bar)^1.5 (cuerpo:foo O cuerpo:barra)
Usted debe examinar cuidadosamente explicar de salida para determinar el aumento correspondiente de pesos.
El oficial de google docs para la consulta analizador de sintaxis está aquí: http://lucene.apache.org/java/3_5_0/queryparsersyntax.html
La sintaxis de la consulta no ha cambiado significativamente desde Lucene 1.3 (ahora es 3.5.0).
El Análisis De Las Consultas
Las consultas <a href="http://perros.blogspot.com/">puede</a>n ser analizados mediante la construcción de un QueryParser objeto e invocar el método parse ().
Cadena de querystr = args.longitud > 0 ? args[0] : "lucene";
Consulta p = new QueryParser(Versión.LUCENE_CURRENT, "título", el analizador).parse(querystr);
Programático de la construcción de consultas
Lucene las consultas también <a href="http://perros.blogspot.com/">puede</a>n ser construidos mediante programación. Esto <a href="http://perros.blogspot.com/">puede</a> ser muy útil a veces. Además, hay algunas consultas que no son posibles de construir por el análisis.
Disponible objetos de consulta como de 3.4.0 son:
BooleanQuery
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.