Elasticsearch partita elemento nell'array

0

Domanda

Dato questi dati:

[
  {
    "tags": [
      "food"
    ]
  },
  {
    "tags": [
      "food features"
    ]
  }
]

E indice di mappatura

{
  "mappings": {
    "properties": {
      "tags": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      }
    }
  }
}

Come posso creare una query che restituisce tag corrispondenza [cibo] e [cibo caratteristiche] quando ho cercato [cibo] tag, ma quando faccio una ricerca per il food offre tag, solo [cibo caratteristiche] tag viene restituito? Grazie.

elasticsearch
2021-11-22 08:49:00
1

Migliore risposta

1

Un prefix query sul tags.keyword campo potrebbe fare il lavoro:

{
  "query": {
    "prefix": {
      "tags.keyword": "food"
    }
  }
}
2021-11-22 09:12:26

Grazie. Ma nel caso dell'indice con un documento con il tag: [food offre Una], questa soluzione non funziona.
Anh Ho Phi Duc

Non so cosa intendi. Puoi aggiornare la tua domanda con un documento di esempio e la query che si pensa non funziona?
Val

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................