Elasticsearch zápas prvok v poli

0

Otázka

Vzhľadom na tieto údaje:

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

A index mapovanie

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

Ako môžem vytvoriť dotaz, ktorý vráti uzavreté tagy [jedla] a [potraviny funkcie] , keď som hľadala [jedla] tag, ale keď som sa hľadať jedlo funkcie značku, len [potraviny funkcie] tag sa vráti? Vďaka.

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

Najlepšiu odpoveď

1

A prefix dotaz na tags.keyword oblasti by mohla robiť prácu:

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

Vďaka. Ale v prípade indexu s dokumentom s značky: [potraviny funkcie], toto riešenie nefunguje.
Anh Ho Phi Duc

Nie ste istí, čo máte na mysli. Môžete aktualizovať vaše otázky, s vzorový dokument, a dotaz si myslíte, že nebude fungovať?
Val

V iných jazykoch

Táto stránka je v iných jazykoch

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