как узнать, из какого подтипа был найден результат в elasticsearch?
Всем привет и заранее спасибо,
У меня есть данные, проиндексированные на сервере elasticsearch следующим образом
{
'main_index':{
'type':[{
'name':'john deo',
'type':'accountant',
'description':'john deo is a great person',
'address':'somewhere in the world'
},
{
'name':'calvin kalvin',
'type':'designer',
'description':'calvin kalvin is john deo's best friend',
'address':'somewhere near'
}]
}
}
Мой запрос, когда я ищу great person
, он также должен вернуть мне свой sub-type
, скажем name or type or description or address
Например.:
http://localhost:9200/some-index/type?q=great person
Таким образом, вместе с полным результатом он также должен возвращать свой подтип, т.Е.:description
. Я пытался highlighter
, но бесполезно.
Пожалуйста, помогите.
4
1 answers
Как насчет этого?
GET /my_index/type/_search?q=great person
{
"highlight": {
"fields": {"name": {},"type": {},"description": {},"address": {}}
}
}
Что дает вам:
"hits": [
{
"_index": "my_index",
"_type": "type",
"_id": "1",
"_score": 0.10848885,
"_source": {
"name": "john deo",
"type": "accountant",
"description": "john deo is a great person",
"address": "somewhere in the world"
},
"highlight": {
"description": [
"john deo is a <em>great</em> <em>person</em>"
]
}
}
]
Если вы также добавите "мир" в поисковый запрос (так что q=great person world
), это даст вам:
"hits": [
{
"_index": "my_index",
"_type": "type",
"_id": "1",
"_score": 0.13287117,
"_source": {
"name": "john deo",
"type": "accountant",
"description": "john deo is a great person",
"address": "somewhere in the world"
},
"highlight": {
"address": [
"somewhere in the <em>world</em>"
],
"description": [
"john deo is a <em>great</em> <em>person</em>"
]
}
}
]
2
Author: Andrei Stefan, 2014-11-11 11:20:12