Всем привет и заранее спасибо,
У меня есть данные, проиндексированные на сервере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
но бесполезно.
Пожалуйста помоги.
Как насчет этого?
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>"]
}
}
]
Других решений пока нет …