Ниже приведен образец формата моих документов JSON, который хранится внутри elasticsearch.Возможно ли это с помощью поиска elastics?
{
"_index": "in22",
"_type": "event",
"_id": "ET00009709",
"_version": 1,
"_score": 1,
"_source": {
"Group": "Event",
"Title": "Jurassic World",
"_boost": 3,
"inner_hits": [
{
"Code": "ET00009709",
"IsDefault": "",
"Language": "English",
"Format": "3D",
"Region": "MUMBAI"
},
{
"Code": "ET00009710",
"IsDefault": "Y",
"Language": "English",
"Format": "2D",
"Region": "CHEN"
},
{
"Code": "ET00009713",
"IsDefault": "",
"Language": "Hindi",
"Format": "2D",
"Region": "MUMBAI"
},
{
"Code": "ET00009714",
"IsDefault": "",
"Language": "Tamil",
"Format": "3D",
"Region": "MUMBAI"
},
{
"Code": "ET00009715",
"IsDefault": "",
"Language": "Hindi",
"Format": "3D",
"Region": "MUMBAI"
},
{
"Code": "ET00009716",
"IsDefault": "",
"Language": "Bengali",
"Format": "2D",
"Region": "MUMBAI"
}
]
}
}
Теперь то, что я хочу достичь, это всякий раз, когда я ищу Title=Jurassic World and region=MUMBAI
, я должен получить вышеупомянутый документ, но inner_hits
не должен содержать
{
"Code": "ET00009710",
"IsDefault": "Y",
"Language": "English",
"Format": "2D",
"Region": "CHEN"
}
Так это достижимо?
То, что я пытался до сих пор
{
"query": {
"nested": {
"path": "inner_hits",
"query": {
"bool": {
"must": [
{
"match": {
"inner_hits.Region": "MUMBAI"
}
}
]
}
}
}
}
}
Но я не мог достичь того, чего я хотел, это вовсе не удаляется, что блок, который содержит Region: Chen
Если кто-нибудь знает, как работать вокруг с этим, пожалуйста, поделитесь. Спасибо
какая версия elasticsearch? – keety
@keety ES Версия: 1.5.2 – nm10