Я пытаюсь отобразить результаты поиска в базе данных эластичного поиска в моем приложении activjs.Тем не менее, я могу получить доступ только к верхнему слою пар «ключ-значение» и не могу связаться с дочерними элементами.
Структура моих эластичных объектов поиска выглядит следующим образом:
...
"hits":[{
"_index":"knowledgecrawler",
"_type":"doc",
"_id":"5fea73f38399f4c01f",
"_score":1.0,
"_source":{
"content":"content comes here",
"meta":{
"author":"Jones@stackoverflow.com",
"title":"I am lost"
"date":"today",
"keywords":["Stackoverflow"],
"language":"Javascript",
}
"raw":{
"date":"2017-03-08",
"subject":"How do I get here?"
}
}}]
эластичный объект поискагораздо больше, но я ищу только в «хитах».С помощью следующих строк кода я могу легко отобразить значения первого уровня (_index, _type, _id), но любая попытка доступа к дочерним элементам до сих пор не удалась:
render() {
const result = this.props.result;
return (
<div className={this.props.bemBlocks.item().mix(this.props.bemBlocks.container("item"))} key={result._id}>
<div className={this.props.bemBlocks.item("title")}>{result._id}</div>
<div className={this.props.bemBlocks.item("title")}>{result._type}</div>
</div>
)
}
Может кто-нибудь посоветовать мне, как получить доступ к дочерним элементам_source
.Например, я хочу отобразить автора в своем веб-интерфейсе.
РЕДАКТИРОВАТЬ:
Таким образом, ошибка, по-видимому, связана с тем, что поле _source
в Elasticsearch непроиндексированы и, следовательно, не доступны для поиска (в соответствии с документами эластичного поиска ).
Я пока не нашел решения, но опубликую его здесь, когда найду.Помощь также высоко ценится.