Как найти, из какого подтипа был найден результат вasticsearch?

Всем привет и заранее спасибо,

У меня есть данные, проиндексированные на сервереasticsearch следующим образом

{
'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

Решение

Как насчет этого?

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]