English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questa API viene utilizzata per cercare contenuti in Elasticsearch. Gli utenti possono cercare inviando una richiesta GET con una stringa di ricerca come parametro o possono pubblicare la query nel corpo della richiesta.
Elasticsearch ci permette di cercare tutti gli indici o alcuni indici specifici in cui esistono documenti. Ad esempio, se dobbiamo cercare tutti i documenti con il nome che contiene "central", possiamo eseguire l'operazione seguente:
GET /_all/_search?q=city:paprola
Quando eseguiamo il codice sopra, otteniamo la seguente risposta-
{ "took": 33, "timed_out": false, "_shards": { "total": 7, "successful": 7, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.9808292, "hits": [ { "_index": "schools", "_type": "school", "_id": "5", "_score": 0.9808292, "_source": { "name": "Central School", "description": "CBSE Affiliation", "street": "Nagan", "city": "paprola", "state": "HP", "zip": "176115", "location": [ 31.8955385, 76.8380405 ], "fees": 2200, "tags": [ "Senior Secondary", "beautiful campus" ], "rating": "3.3" } } ] } }
Possiamo passare molti parametri attraverso l'identificatore risorsa (URI) durante l'operazione di ricerca-
Numero | Parametri e descrizioni |
---|---|
1 | Q Questo parametro viene utilizzato per specificare la stringa di query |
2 | lenient Questo parametro viene utilizzato per specificare la stringa di query. Se impostato su true, può ignorare gli errori basati su Formatbased. Per impostazione predefinita è falso. |
3 | fields Questo parametro viene utilizzato per specificare la stringa di query |
4 | sort Possiamo ottenere i risultati ordinati utilizzando questo parametro, i valori possibili sono fieldName, fieldName:asc/ fieldName:desc |
5 | timeout Possiamo utilizzare questo parametro per limitare il tempo di ricerca e la risposta contiene solo le hit specificate nel tempo. |
6 | terminate_after Possiamo limitare la risposta alle documenti di una quantità specifica per ogni shard, e la ricerca si interromperà anticipatamente quando si raggiunge lo shard. Per impostazione predefinita, non c'è un termin_after. |
7 | from Indice di partenza dell'indice delle hit da restituire. Il valore predefinito è 0. |
8 | size Rappresenta il numero di hit da restituire, il valore predefinito è 10. |
Possiamo anche utilizzare un DSL di query nella richiesta del corpo per specificare la query e molti esempi sono stati forniti nei capitoli precedenti. Ecco un esempio del genere-
POST /schools/_search { "query": { "query_string": { "query": "up" } } }
Quando eseguiamo il codice sopra, otteniamo la seguente risposta-
{ "took": 11, "timed_out": false, "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.47000363, "hits": [ { "_index": "schools", "_type": "school", "_id": "4", "_score": 0.47000363, "_source": { "name": "City Best School" "description": "ICSE", "street": "West End", "city": "Meerut", "state": "UP", "zip": "250002", "location": [ 28.9926174, 77.692485 ], "fees": 3500, "tags": [ "fully computerized" ], "rating": "4.5" } } ] } }