Elastic Search 1.5.0'a yeni yükselttim ve şu ana kadar iç içe bir filtreyle birlikte çalışmamasına rağmen inner_hits'u yuvalanmış bir filtreyle çalışamıyorum.İç vuruşlar yuvalanmış filtre ile çalışmıyor mu?
ı bir film nesne içinde iç içe geçmiş nesne aktörleri almak istediğimizi varsayalım.
aşağıdaki iç içe sorgu çalıştırdığınızda:
Syntax'i 1
GET my_index/movie/_search
{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"nested": {
"path": "actors",
"query": {
"match": {
"actors.id": 12345
}
},
"inner_hits" : {}
}
}
}
}
}
=> Ben sadece iyi olan
here belgelenmiş olarak inner_hits olsun.
Ama iç içe filtresi ile eşdeğer sorgu yapıyor deneyin zaman:
Dizimi 2
GET my_index/movie/_search
{
"query": {
"filtered": {
"query": {"match_all": {}},
"filter": {
"nested": {
"path": "actors",
"filter": {
"term": {
"actors.id": 12345
}
},
"inner_hits" : {}
}
}
}
}
}
=> Aşağıdaki ayrıştırma hatayı
QueryParsingException [olsun [my_index] [iç içe], 'sorgu' veya 'filtre' alanı gerektirir]
(ve inner_hits kaldırdığınızda bu son sorgu çalışıyor - Ben iç hit alamadım tabii hariç ...)
kullandığım veya sözdiziminde yanlış bir şey var mı inner_hits henüz iç içe filtre ile uygulanmadı mı? peşin
Teşekkür
Düzenleme 3-30-2015
O @mdewit tarafından aşağıda belirtilen sözdizimi ile çalışır (teşekkürler!) 3
GET my_index/movie/_search
{
"query": {
"nested": {
"path": "actors",
"query": {
"filtered": {
"filter": {
"term": {"actors.id": 12345}
}
}
},
"inner_hits" : {}
}
}
}
Syntax'i Bu sözdizimi
olsa bile Nested Filter doc
=> Ben hala sözdizimi 2'nin neyin yanlış olduğunu anlamıyorum. Bana bir ES hatası gibi görünüyor.
Düzenleme 2015/04/22: böcek ES 1.5.1 yılında sabit aşağıdaki
Evet, bunun için teşekkürler! Yine de, sağladığınız sözdizimi, resmi Nested Filter belgelerinde açıklandığı şekliyle soruyu açık bırakacağım: http://www.elastic.co/guide/en/elasticsearch/reference/1.x/ query-dsl-nested-filter.html Hala ben ES'den aldığım hata mesajında bir hata var demektir – benoit
Bu gerçekten çalışıyor .. –