这才是我们一开始就需要的东东,这么久才出现,呜呜呜~~~
POST http://10.0.0.220:9200/shop/_doc/_search
{
"query": {
"match": {
"desc": "我喜欢你"
}
},
"highlight": {
"pre_tags": ["<span>"],
"post_tags": ["</span>"],
"fields": {
"desc": {}
}
}
}
默认情况下,如果不加pre_tags、post_tags,则高亮关键字被<em></em>标签包括,可以采用pre_tags、post_tags进行自定义。
## "pre_tags": ["<span>"], 开始标签
## "post_tags": ["</span>"], 结束标签
拓展 - prefix-fuzzy-wildcard
prefix根据前缀去查询
POST http://10.0.0.220:9200/shop/_doc/_search
{
"query": {
"prefix": {
"desc": "哈哈"
}
}
}
fuzzy模糊搜索,并不是指的sql的模糊搜索,而是用户在进行搜索的时候的打字错误现象,搜索引擎会自动纠正,然后尝试匹配索引库中的数据。
POST http://10.0.0.220:9200/shop/_doc/_search
{
"query": {
"fuzzy": {
"desc": "imoov.coom"
}
}
}
# 或多字段搜索
{
"query": {
"multi_match": {
"fields": [ "desc", "nickname"],
"query": "imcoc supor",
"fuzziness": "AUTO"
}
}
}
{
"query": {
"multi_match": {
"fields": [ "desc", "nickname"],
"query": "演说",
"fuzziness": "1"
}
}
}
官文:https://www.elastic.co/guide/cn/elasticsearch/guide/current/fuzzy-match-query.html
wildcard占位符查询
-
?:1个字符
-
*:1个或多个字符
POST http://10.0.0.220:9200/shop/_doc/_search { "query": { "wildcard": { "desc": "*是?" } } } { "query": { "wildcard": { "desc": "人*" } } }
官文:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html
最后修改于 2020-04-07 16:55:14
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

