Utilizzando il suggeritore di completamento Elasticsearch ho problemi a restituire suggerimenti di immissione di più parole che corrispondono a una query di una sola parola.Il completamento di Elasticsearch suggerisce la ricerca con input a più parole
struttura Esempio:
PUT /test_index/
{
"mappings": {
"item": {
"properties": {
"test_suggest": {
"type": "completion",
"index_analyzer": "whitespace",
"search_analyzer": "whitespace",
"payloads": false
}
}
}
}
}
PUT /test_index/item/1
{
"test_suggest": {
"input": [
"cat dog",
"elephant"
]
}
}
ricerca di lavoro:
POST /test_index/_suggest
{
"test_suggest":{
"text":"cat",
"completion": {
"field" : "test_suggest"
}
}
}
con esito
{
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"test_suggest": [
{
"text": "cat",
"offset": 0,
"length": 3,
"options": [
{
"text": "cat dog",
"score": 1
}
]
}
]
}
interrogazione mancanza:
POST /test_index/_suggest
{
"test_suggest":{
"text":"dog",
"completion": {
"field" : "test_suggest"
}
}
}
con esito
{
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"test_suggest": [
{
"text": "dog",
"offset": 0,
"length": 3,
"options": []
}
]
}
mi si aspetterebbe lo stesso risultato della query di lavoro, Matching 'cane gatto'. Qualche suggerimento qual è il problema e come far funzionare la query in errore? Ottengo gli stessi risultati quando uso l'analizzatore standard invece dell'analizzatore di spazi bianchi. Vorrei usare più parole per stringa di input come mostrato nell'esempio sopra.
ricerca + query non tornando testo e nel mio caso il testo può essere qualsiasi cosa tra tre campi, così come ho potuto mostrare il testo esatto di completamento automatico. –