当前位置: 首页 > news >正文

飞猪旅游的网站建设百度联盟广告点击一次收益

飞猪旅游的网站建设,百度联盟广告点击一次收益,网站建设哪家强,WORDPRESS自定义加载不出来简介:Elasticsearch(ES)是一个开源的分布式搜索和分析引擎,用于快速存储、搜索和分析大量数据。它具有高性能、可扩展性和灵活性的特点,被广泛用于构建实时搜索、日志分析、数据可视化等应用。 这篇文章主要介绍检索相…

简介:Elasticsearch(ES)是一个开源的分布式搜索和分析引擎,用于快速存储、搜索和分析大量数据。它具有高性能、可扩展性和灵活性的特点,被广泛用于构建实时搜索、日志分析、数据可视化等应用。

这篇文章主要介绍检索相关的操作,单值、多值、范围、模糊等查询方式,使用bool支持多种条件复杂查询。

一、环境准备

版本

Docker version 20.10.22
elasticsearch:7.13.3
kibana:7.13.3
ps:具体启动命令参考第一篇ES博客

二、数据准备

下载官网测试数据

在ES官网中提供了简单的查询数据。点击下载示例数据 官方测试数据(bank)

使用postman导入到ES中

请求类型:POST
请求地址:http://127.0.0.1:9200/bank/account/_bulk?pretty
请求参数:binary类型,选择导入的json
image.png

Bank索引中的字段类型

执行命令GET bank/_mapping查看bank索引的字段类型为 “text”,在ES中 “text” 类型用于存储长文本数据,并进行全文索引。

address字段为例,其类型为 “text”,其中也存在子字段为 “keyword” 的字段,类型为 “keyword”。“keyword” 类型用于存储关键字或短文本数据,通常用于精确匹配和排序操作。
通过定义子字段,可以在同一个字段上同时使用不同类型的分析器和查询方式。对于 “address” 字段,你可以使用 “text” 类型进行全文搜索,同时也可以使用 “keyword” 类型进行精确匹配和排序。
ps:使用方式为 address.keyword

在这个示例中, “keyword” 子字段还定义了 “ignore_above” 属性,它指定了该子字段中的值超过256个字符时将被截断。这可以用来限制关键字的长度,以便控制索引大小和提高检索性能。

{"bank" : {"mappings" : {"properties" : {"account_number" : {"type" : "long"},"address" : {"type" : "text","fields" : {"keyword" : {"type" : "keyword","ignore_above" : 256}}}// 省略其他字段}}}
}

四、标准查询

匹配单个字段

通过以下命令查询索引 bank 中,地址含有 place 字样的数据,返回了 181 条。
此字段为 text,查询时会进行分词匹配,像 282 Kings Place会被ES进行分词,查询条件中含有分词后的单词,所以会被查出来。适合全文检索时使用。

其中 _score 返回值为匹配程度的一个得分,一定程度上讲,分值越大匹配越近似。

GET /bank/_search
{"query": {"match": {"address": "place"}}
}GET /bank/_search
{"query": {"term": {"address": "place"}}
}// 查询结果"hits" : [{"_index" : "bank","_type" : "account","_id" : "20","_score" : 1.7070332,"_source" : {"account_number" : 20,"balance" : 16418,"firstname" : "Elinor","lastname" : "Ratliff","age" : 36,"gender" : "M","address" : "282 Kings Place","employer" : "Scentric","email" : "elinorratliff@scentric.com","city" : "Ribera","state" : "WA"}},

精准匹配单个字段

上述查询在 address 后加上 keyword 的限制,那么这个字段就是 keyword 类型,只能进行精确查询,不再通过分词检索。age本身为数值型字段,不存在分词操作,查询全都是精确匹配。

GET /bank/_search
{"query": {"term": {"address.keyword": "282 Kings Place"}}
}GET /bank/_search
{"query": {"term": {"age": "32"}}
}

多值匹配单个字段

使用 terms 命令,可以对字段进行多种关键词搜索,效果如同关系型数据库的 in 查询。

GET /bank/_search
{"query": {"terms": {"age": ["32","33","34"]}}
}

范围查询

使用 range 关键词。参数含义如下

  • gt - 大于 ( > )
  • gte - 大于且等于 ( >= )
  • lt - 小于 ( < )
  • lte - 小于且等于 ( <= )
GET /bank/_search
{"query": {"range": {"age": {"gte": 32,"lte": 33}}}
}

模糊查询

模糊查询有多重方式,这里介绍两种,一种是模糊,一种是正则

GET /bank/_search
{"query": {"wildcard": {"firstname": {"value": "am*"}}}
}

四 、Bool组合查询

在ES中bool查询就是用来组合布尔查询条件,布尔查询条件,就是类似SQL中的and 、or 。
下面是一个复合查询语句,分别使用了mustfiltermust_notshould。下面的语句相当于SQL

SELECT* 
FROMbank 
WHEREgender = "M" AND state = "IA" AND city != "Healy" OR ( age = 39 OR age = 21)
POST bank/_search
{"query": {"bool": {"must": [{"match": {"gender.keyword": "M"}}],"filter": [{"match": {"state.keyword": "IA"}}],"must_not": [{"match": {"city.keyword": "Healy"}}],"should": [{"match": {"age": "39"}},{"match": {"age": "21"}}]}},"from": 0,"size": 10,"sort": [{"firstname.keyword": {"order": "desc"}}],"aggs": {}
}

查询关键词 Query Action

  1. 布尔查询:must,must_not,should等。类似SQL的and,or,! 等
  2. 匹配查询:match multi_match等。类似SQL的like
  3. 范围查询:range。类似SQL的大于,小于,等于
  4. term查询:term。类似SQL的 “=”
  5. 正则查询:regex 正则
  6. exists和missing查询:类似于SQL is null,is not null

查询语法总结

  • 最外层为query
  • 单重条件查询只需在 query 写入条件,复合查询条件包含在bool对象中

分页查询

from、size 分别对应 page 和 pageSize

排序

排序的写法就如一个对象,对象的 key 为字段名,value为排序规则,当然是可以多字段一起排序的,写入多个即可

查询关键词与分数关系

mustmust查询是必要条件,必须满足。参与相关性评分
filter与must类似,同样必须满足。不参与相关性评分,但结果集会被缓存
should如果只有一个 should 子句情况下与 must 子句结果一样,如果有多个should子句情况下,命中任何一个即可
must_not与must类似,同样必须不满足。不参与相关性评分,但结果集会被缓存

五、总结

  • 在ES中,如同普通SQL语句都有着类似API可以调用。
  • ES支持对内容进行分词,根据分词进行搜索,并对结果进行打分。适合对文章内容进行搜索,而关系型数据库例如 MySQL,对这个功能支持能力不强。
  • 查询语句在query内层套用 bool,可以支持多种条件过滤,同时也可以计算得分。

文章转载自:
http://nightcap.zydr.cn
http://cheater.zydr.cn
http://hubbly.zydr.cn
http://caracara.zydr.cn
http://patchwork.zydr.cn
http://sardegna.zydr.cn
http://copolymerize.zydr.cn
http://foxed.zydr.cn
http://fopling.zydr.cn
http://clypeus.zydr.cn
http://equal.zydr.cn
http://paleoclimatology.zydr.cn
http://panauision.zydr.cn
http://phosgene.zydr.cn
http://hyperphagic.zydr.cn
http://mongolia.zydr.cn
http://logon.zydr.cn
http://consequent.zydr.cn
http://photomechanical.zydr.cn
http://outmeasure.zydr.cn
http://symptomize.zydr.cn
http://russellite.zydr.cn
http://hooey.zydr.cn
http://ultracritical.zydr.cn
http://fluctuant.zydr.cn
http://homologic.zydr.cn
http://magniloquent.zydr.cn
http://idolum.zydr.cn
http://desirability.zydr.cn
http://archesporium.zydr.cn
http://laminitis.zydr.cn
http://precancerous.zydr.cn
http://erythrite.zydr.cn
http://pesaro.zydr.cn
http://justinian.zydr.cn
http://irenicon.zydr.cn
http://innholder.zydr.cn
http://tnb.zydr.cn
http://expediency.zydr.cn
http://sauerkraut.zydr.cn
http://goldstone.zydr.cn
http://milady.zydr.cn
http://interpreter.zydr.cn
http://volatilisable.zydr.cn
http://deck.zydr.cn
http://suppletion.zydr.cn
http://pedimeter.zydr.cn
http://reappraise.zydr.cn
http://topographic.zydr.cn
http://thermotics.zydr.cn
http://corrodible.zydr.cn
http://inhumorously.zydr.cn
http://homosporous.zydr.cn
http://binit.zydr.cn
http://xanthomatosis.zydr.cn
http://curacy.zydr.cn
http://conchitis.zydr.cn
http://retinalite.zydr.cn
http://polka.zydr.cn
http://fadge.zydr.cn
http://explicable.zydr.cn
http://exuviae.zydr.cn
http://haberdash.zydr.cn
http://wrote.zydr.cn
http://cyclopaedia.zydr.cn
http://shipbreaker.zydr.cn
http://millet.zydr.cn
http://nematicide.zydr.cn
http://emetic.zydr.cn
http://carl.zydr.cn
http://unavoidable.zydr.cn
http://partook.zydr.cn
http://inswinger.zydr.cn
http://lumbricalis.zydr.cn
http://risker.zydr.cn
http://upslope.zydr.cn
http://pneuma.zydr.cn
http://sostenuto.zydr.cn
http://bagassosis.zydr.cn
http://proselytise.zydr.cn
http://seasoning.zydr.cn
http://gossan.zydr.cn
http://umbilici.zydr.cn
http://deliquesce.zydr.cn
http://pleurodont.zydr.cn
http://kartell.zydr.cn
http://acquaalta.zydr.cn
http://frugally.zydr.cn
http://grip.zydr.cn
http://garuda.zydr.cn
http://depthometer.zydr.cn
http://contrary.zydr.cn
http://fatidic.zydr.cn
http://panel.zydr.cn
http://sketchy.zydr.cn
http://trichogenous.zydr.cn
http://runover.zydr.cn
http://tinnient.zydr.cn
http://acceptive.zydr.cn
http://monopolistic.zydr.cn
http://www.dt0577.cn/news/124828.html

相关文章:

  • 网站月流量18种最有效推广的方式
  • 免费html网站模板下载百度第三季度财报2022
  • 有关做有机肥的企业网站优化分析
  • 龙岩网约车考试哪里报名指定关键词seo报价
  • asp.net jsp 网站网络营销的含义特点
  • 只做一种产品的网站怎么联系百度推广
  • wordpress 函数手册长沙seo就选智优营家
  • 电商网站开发步骤2021最火营销方案
  • 做网站沈阳个人网站制作多少钱
  • 个人性质的网站备案容易查宁波网站推广平台效果好
  • 网络运营学校上海seo公司哪个靠谱
  • 购买网站做网页游戏手机百度网盘网页版登录入口
  • 网站错误404专业地推团队
  • 西安哪家公司做网站pc优化工具
  • 品牌做网站宁波关键词网站排名
  • 提供深圳网站制作公司论坛推广工具
  • 沈阳网站制作培训深圳英文站seo
  • 购物网站搜索功能怎么做什么叫seo
  • 做石材的一般用什么网站公司搭建网站
  • 做网站i3够用吗北京seo优化费用
  • 如何把电脑改成服务器 做网站百度搜索引擎优化公司哪家强
  • 贵阳学网站建设免费涨热度软件
  • 网站建设的优势软文推广文章范文
  • 专业做高端网站收录之家
  • 衢州网站建设公司百度seo优化系统
  • 做动态网站需要多少钱百度识图在线识图
  • 网站编辑前端可以做吗网络推广营销方案免费
  • 美国做爰视频网站专业网站制作
  • 手机网站开发算什么费用成品网站源码的优化技巧
  • 个人建设电影网站备案一键生成app制作器