迭代一系列elasticsearch文档并打印出来

时间:2016-06-21 11:29:02

标签: html arrays angularjs elasticsearch iteration

我有一个弹性搜索查询结果

  

“顶部”:{

     

“命中”:{

     

“总”:21, “MAX_SCORE”:2.2237754,

     

“命中”:[{ “_索引”: “automatch_testing”, “_类型”: “temp_135”, “_ ID”: “AVU7i0nnXK6g_oqHu-AZ”, “_分数”:2.2237754, “_源”:{ “t_pacs_id”: “34”, “T_ID”: “60”, “匹配”: “MO”}},

     

{ “_索引”: “automatch_testing”, “_类型”: “temp_143”, “_ ID”: “AVU7iOSeXK6g_oqHu-XY”, “_分数”:2.2237754, “_源”:{ “t_pacs_id”: “30”,” T_ID “:” 60" , “匹配”: “MO”, “t_match”: “匹配”}},

     

{ “_索引”: “automatch_testing”, “_类型”: “temp_135”, “_ ID”: “AVU7i0nlXK6g_oqHu-AY”, “_分数”:2.2237754, “_源”:{ “t_pacs_id”: “28”,” T_ID “:” 60" , “匹配”: “MO”, “UICriteria”: “135”, “t_match”: “匹配”}}]}}}

我想打印每个命中的来源......“命中”是控制器返回的结果。

我试过这种方式......但似乎没有用

 <div ng-repeat="hit in hits.tops.hits.hits">
     <td > {{ rhit._source.t_pacs_id }}</td>  
 </div>

但是这段代码工作了......它打印了数组第一个元素的来源

<p> {{ hits.tops.hits.hits[0]._source }} </p>

有没有办法遍历所有数组元素并打印它们?

2 个答案:

答案 0 :(得分:1)

你的第一次尝试已经结束,我认为你有一个错字。 检查此工作fiddle

<div ng-repeat="hit in data.tops.hits.hits">
    <p > {{ hit._source.t_pacs_id }}</p>  
</div>

我复制了您的数据并将其存储在$scope.data

注意:您不应在<td>之外使用<table>。请考虑更改HTML。

答案 1 :(得分:0)

它应该有效,这里有一个例子Plnkr

  <body ng-controller="MainCtrl">
    <div ng-repeat="hit in hits.tops.hits.hits">{{hit._source.t_pacs_id}}</div>
  </body>

问题可能是您尝试在td元素中显示数据。 td需要在表格和表格行中。