我正在尝试使用动态结构在数千个文档上构建全文搜索查询。
但突出显示方法仅适用于特定命名的字段。
如果我想使用_all或_source搜索,它不会显示任何高亮显示的结果。
我已经尝试了很多种,并试图"谷歌搜索"但没有成功。
基本查询:
"hits": {
"total": 8,
"max_score": 13.482396,
"hits": [
{
"_index": "tracking-2017.01.09",
"_type": "cyclone",
"_id": "Cyclone1-UAT-ci1483967534008.6100622@czcholsint372_te-Messaging.Message.MessageUnpackaged.Request",
"_score": 13.482396,
"_source": {
... truncated ...
"received": "2017-01-09T13:12:14.008Z",
"tags": [],
"@timestamp": "2017-01-09T13:12:14.008Z",
"size": "3169",
"pairing": " ci1483967534008.6100622@czcholsint372_te <60a93b9-159835b287e-159835b79041a66cd1@ip.net> ErpExJets_RDC1_ProcessPurchaseOrder_9.4.1_20170109131207169 ErpExJets_RDC1_ProcessPurchaseOrder_9.4.1_20170109131207169",
}
},
将返回:
{{1}}
但即使搜索到的字符串在配对字段中也没有突出显示。
有可能吗?
由于 雷迪
答案 0 :(得分:0)
弹性doumentation在注释中提到 - “为了执行突出显示,该字段的实际内容是必需的。如果存储了相关字段(在映射中将存储设置为true),则将使用它,否则,将加载实际的_source,并从中提取相关字段。“
因此,除非_all设置为true,否则请使用以下查询。
{
"query": {
"query_string": {
"query": "ci1483967534008.6100622@czcholsint372_te"
}
},
"highlight": {
"require_field_match": false,
"fields": {
"pairing": {}
}
}
}
如果您对源docuemnt _all设置为true,请使用以下
{
"query": {
"query_string": {
"query": "ci1483967534008.6100622@czcholsint372_te"
}
},
"highlight": {
"require_field_match": false,
"fields": {
"_all": {}
}
}
}
希望这有帮助。