İç içe geçmiş bir alan içeren belgemde arama yapmaya çalışıyorum. Böyle iç içe eşleme oluşturuldu:Elasticsearch: iç içe geçmiş nesnenin altındaki yolun iç içe türünde olmadığı
{
"message": {
"properties": {
"messages": {
"type": "nested",
"properties": {
"message_id": { "type": "string" },
"message_text": { "type": "string" },
"message_nick": { "type": "string" }
}
}
}
}
}
Arama şöyle görünür: Henüz
curl -XGET 'localhost:9200/thread_and_messages/thread/_search' \
-d '{"query": {"bool": {"must": [{"match": {"thread_name": "Banana"}}, {"nested": {"path": "messages", "query": {"bool": {"must": [{"match": {"messages.message_text": "Banana"}}]}}}]}}}}'
Bu hata mesajı alıyorum:
QueryParsingException[[thread_and_messages] [nested] nested object under path [messages] is not of nested type]
DÜZENLEMEYİ
Bu hatayı hala alıyorum.
{
"_id": {
"path": "3",
"thread_id": "3",
"thread_name": "Banana",
"created": "Wed Mar 25 2015",
"first_nick": "AdminTech",
"messages": [
{
"message_id": "9",
"message_text": "Banana",
"message_nick": "AdminTech"
}
]
}
}
şöyle endeksi oluşturma:
CreateIndexRequestBuilder indexRequest = client.admin().indices().prepareCreate(INDEX).addMapping("message", mapping);
Elimden yanlış belgeyi indeksliyorum düşünüyorum yüzden bu ı oluşturmaya çalışıyorum belgedir Java üzerinden yapıyorum.
Hata almaya devam ettiğim için orijinal gönderiimde bir değişiklik yaptım. –