es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para convertir la consulta anterior a Spring Data Elasticsearch, tenemos que utilizar la interfaz ElasticsearchOperations proporcionada por Spring Data Elasticsearch. Podemos consultar un documento específico utilizando el método findById de ElasticsearchOperations. Sin embargo, para recuperar solo campos específicos dentro del documento, tenemos que usar un objeto FetchSourceFilter como se muestra a continuación:

    ```
    SearchHit<document> searchHit = elasticsearchOperations.searchOne(Query.query(
                        new MatchQueryBuilder("id", id)
                ).fetchSourceContext(new FetchSourceContext(true, new String[]{"jsonField1", "jsonField2"})), Document.class);
    ```
    

    En el fragmento de código anterior, utilizamos el método searchOne de ElasticsearchOperations para recuperar un único documento basado en el id. Estamos utilizando un MatchQueryBuilder para hacer coincidir el campo id en el documento. También estamos utilizando el objeto FetchSourceContext para incluir solo los campos especificados en la fuente del documento. Hemos establecido true para el parámetro includes para incluir los campos especificados y hemos especificado los campos como un array de strings new String[]{"jsonField1", "jsonField2"}. El documento devuelto contendrá solo los campos especificados en la propiedad source.

Comments are closed.