千家信息网

Elasticsearch实现类Google高级检索的实例分析

发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,今天就跟大家聊聊有关Elasticsearch实现类Google高级检索的实例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、高级检索的
千家信息网最后更新 2025年12月04日Elasticsearch实现类Google高级检索的实例分析

今天就跟大家聊聊有关Elasticsearch实现类Google高级检索的实例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一、高级检索的功能点

通过高级搜索配置搜索项,能更准确的过滤掉不相干信息,获取最想要的检索信息。
以Google搜索为例(截取核心片段):

二、高级检索拆分

1、包含以下全部的关键词:

需要分词处理;
若需要指定字段,则使用matchQuery实现;
若无需指定字段的全文检索,则使用queryStringQuery实现;

2、包含以下的完整关键词 :

需要完整匹配字符,使用wildcardQuery结合"*"实现;

3、包含以下任意一个关键词 :

空格分隔每个关键词,需要将多个词空格拆分,然后对每个关键词通过should结合wildcardQuery遍历实现;

4、不包括以下关键词 :

包含以下全部关键词的反面,
若需要指定字段,则使用must_not结合matchQuery实现;
若无需指定字段,则使用must_not结合queryStringQuery实现;

5、限定要搜索的网页的时间是:

限定搜索的开始和结束时间,通过rangeQuery实现。

6、关键词位置:

根据关键词位置的不同,采用不同的实现;
关键词位于title字段:指定title进行检索;
关键词位于content字段:指定content进行检索;
关键词位于全部字段:不指定字段进行检索,多使用 queryStringQuery实现。

三、DSL高级检索实现

POST detail_index/_search

{

"from" : 0,

"size" : 10,

"query" : {

"bool" : {

"must" : [

{

"match" : {

"title" : {

"query" : "苹果乔布斯",

"operator" : "OR",

"prefix_length" : 0,

"max_expansions" : 50,

"fuzzy_transpositions" : true,

"lenient" : false,

"zero_terms_query" : "NONE",

"boost" : 1.0

}

}

},

{

"wildcard" : {

"title.keyword" : {

"wildcard" : "*苹果总裁库克*",

"boost" : 1.0

}

}

},

{

"range" : {

"create_time" : {

"from" : "2017-09-07 00:00:00",

"to" : "2017-09-15 23:59:59",

"include_lower" : true,

"include_upper" : true,

"boost" : 1.0

}

}

}

],

"must_not" : [

{

"wildcard" : {

"title.keyword" : {

"wildcard" : "*苹果梨*",

"boost" : 1.0

}

}

}

],

"should" : [

{

"wildcard" : {

"title.keyword" : {

"wildcard" : "*苹果手机*",

"boost" : 1.0

}

}

},

{

"wildcard" : {

"title.keyword" : {

"wildcard" : "*iphoneX*",

"boost" : 1.0

}

}

}

],

"disable_coord" : false,

"adjust_pure_negative" : true,

"boost" : 1.0

}

},

"_source" : {

"includes" : [

"title",

"content"

],

"excludes" : [ ]

},

"highlight" : {

"pre_tags" : [

""

],

"post_tags" : [

""

],

"fragment_size" : 100,

"number_of_fragments" : 5,

"require_field_match" : true,

"fields" : {

"title" : { }

}

}

}


Elasticsearch检索中的精确匹配、全文检索分为很多种,需要结合开发需求进行因地制宜的使用。

看完上述内容,你们对Elasticsearch实现类Google高级检索的实例分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

检索 关键 关键词 字段 高级 搜索 苹果 内容 实例 实例分析 分析 不同 位置 信息 全文 全文检索 时间 空格 精确 因地制宜 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库打开后显示白色的圈圈 表单引擎数据库设计文档 app软件开发语言框架 京创智慧互联网科技有限公司 网络安全进校园征文怎么写 数据库单选框控件是哪个 锐捷校招软件开发技术面 中国学术期刊数据库论文 我国网络技术的发展趋势 树立网络安全意识目标 网络安全排查处置情况 外部数据库怎么连接sql 德惠正规网络技术咨询哪家好 快立方 数据库 我的世界仙诀服务器 计算机网络技术学生用到的软件 如何查看服务器是否被爆破 上海天象网络技术怎么样 移动软件开发热线 数据库对数据库连接 没有网络安全英语作文 铭飞cms数据库表 飞塔 网络安全平台 目前常用学术数据库 杭州网络安全学院分数线 网络安全手抄报大一 软件开发合同法律规定 罗布乐思咋进不去服务器 国泰安合作数据库下载不了 网络技术人员如何处理突发事件
0