La búsqueda se realiza usando el método find():
Ejemplo 10.6. Búsqueda a través del índice
$hits = $index->find($query);
foreach ($hits as $hit) {
printf("%d %f %s\n", $hit->id, $hit->score, $hit->title);
}
Este ejemplo demuestra el uso de dos propiedades especiales de los resultados de búsqueda - id y score.
id es un identificador interno de documento usado dentro de un índice Lucene. Puede usarse para una variedad de operaciones, incluyendo eliminar un documento del índice:
O recuperar el documento del índice:
El campo score es la puntuación del resultado. Los resultados de búsqueda se ordenan por puntuación de forma predeterminada (los mejores resultados se devuelven primero).
También es posible ordenar los conjuntos de resultados por valores de campos específicos. Consulte la
documentación de Zend_Search_Lucene para más detalles sobre
esta posibilidad.
El ejemplo también demuestra la capacidad de acceder a los campos almacenados (por ejemplo, $hit->title). En el primer acceso a cualquier propiedad de un resultado que no sea id o score, se cargan los campos almacenados del documento, y se devuelve el valor del campo correspondiente.
Esto causa una ambigüedad para documentos que tienen sus propios campos id o
score; como resultado, no se recomienda usar estos nombres de campo
dentro de los documentos almacenados. No obstante, aún pueden accederse mediante el
método getDocument():
Ejemplo 10.9. Acceso a los campos originales "id" y "score" del documento
$id = $hit->getDocument()->id; $score = $hit->getDocument()->score;
![[Note]](images/note.png)