我是Elastisearch的新手,并且刚刚实现了搜索引擎,因此效果很好。由于JDK的限制,我使用的是Elastic 2.4,我们使用的是Java 7。 我想检索找到的字段。 例如,这是我的数据:
{
"result_type": "PERSON",
"id": 44963408,
"identificatie": "07725486",
"name": "andre",
"lastName": "silva",
"@version": "1",
"@timestamp": "2018-07-31T14:32:58.609Z"
}
这是我的查询方式:
BoolQueryBuilder query = QueryBuilders.boolQuery();
query.should(QueryBuilders.wildcardQuery("name", autoCompleteText))
.should(QueryBuilders.wildcardQuery("lastName", autoCompleteText));
如您所见,我的搜索是通用搜索,当您键入它时,它将搜索“名称”和“ lastName”。 因此,当我得到结果时,如何知道匹配是在“名称”上还是在“ lastName”上? 我试图从hit.getFields()获取它,但它始终为null。
我该怎么做?