gpt4 book ai didi

elasticsearch - 从自定义 “_all”字段获取的结果中突出显示数字字段

转载 作者:行者123 更新时间:2023-12-02 23:54:15 24 4
gpt4 key购买 nike

我是Elasticsearch的新手。我们需要索引和检索具有不同数据类型的某些数据。我们正在使用自定义“_all”字段,如以下链接中所述

Custom "_all" fields

以下是我们的代码

用于创建索引

PUT myindex
{
"mappings": {
"mytype": {
"properties": {
"first_name": {
"type": "text",
"copy_to": "contact_details"
},
"mobile_number": {
"type": "long",
"copy_to": "contact_details"
},
"contact_details": {
"type": "text"
}
}
}
}
}

用于添加到索引
PUT myindex/mytype/1
{
"first_name": "John",
"mobile_number": 9988776655
}

搜寻
GET myindex/_search
{
"query": {
"multi_match": {
"query": "9988776655",
"fields": [
"contact_details"
],
"fuzziness": "auto"
}
},
"highlight": {
"require_field_match": false,
"pre_tags": [
"<tag1>"
],
"post_tags": [
"</tag1>"
],
"fields": {
"first_name": {},
"mobile_number": {}
}
}
}

使用上面的查询,我们能够获取结果,但不能突出显示原始字段值,如以下链接中所述

Highlighting Original Fields

需要知道我们是在做错什么还是有错误

请注意,我们必须使用自定义“_all”字段,因为这对我们的要求很重要。同样,字段的数据类型不能更改。

非常感谢

最佳答案

我已经测试了您的查询,在我看来它突出显示了原始字段,在这种情况下,mobile_number周围带有标签字段。

这是我得到的结果:

    {
"took" : 93,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 0.2876821,
"hits" : [
{
"_index" : "my_so_index",
"_type" : "mytype",
"_id" : "1",
"_score" : 0.2876821,
"_source" : {
"first_name" : "John",
"mobile_number" : 9988776655
},
"highlight" : {
"mobile_number" : [
"<tag1>9988776655</tag1>"
]
}
}
]
}
}

我在ElasticSearch 6.6版本上运行上述查询。对于版本5,文档显示的结构略有不同,您可以尝试以下操作:
GET myindex/_search
{
"query": {
"multi_match": {
"query": "9988776655",
"fields": [
"contact_details"
],
"fuzziness": "auto"
}
},
"highlight": {
"pre_tags": [
"<tag1>"
],
"post_tags": [
"</tag1>"
],
"fields": {
"first_name": {"require_field_match": false},
"mobile_number": {"require_field_match": false}
}
}
}

关于elasticsearch - 从自定义 “_all”字段获取的结果中突出显示数字字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54982968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com