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

网站建设优選宙斯站长wordpress短代码 下载

网站建设优選宙斯站长,wordpress短代码 下载,公司网站建设平台,网站必须要求备案吗一、ES数据基础类型 1、数据类型 字符串 主要包括: text和keyword两种类型#xff0c;keyword代表精确值不会参与分词#xff0c;text类型的字符串会参与分词处理 数值 包括: long, integer, short, byte, double, float 布尔值 boolean 时间 date 数组 数组类型不…一、ES数据基础类型 1、数据类型 字符串 主要包括: text和keyword两种类型keyword代表精确值不会参与分词text类型的字符串会参与分词处理 数值 包括: long, integer, short, byte, double, float 布尔值 boolean 时间 date 数组 数组类型不需要专门定义只要插入的字段值是json数组就行 GEO类型 主要涉及地理信息检索、多边形区域的表达 2、textkeyword使用注意 text类型支持全文搜索因为text涉及分词所以可以配置使用什么分词器尤其涉及中文分词。 实际项目中如果不需要模糊搜索的字符类型可以选择keyword类型例如手机号、email、微信的openid等等如果选text类型可能会出现搜出一大堆相似的数据而且不是精确的数据。 二、query语法 query子句主要用于编写查询条件类似于SQL中的where语句。 query子句主要用于编写类似SQL的where语句支持布尔查询(and/or)、IN、全文搜索、模糊匹配、范围查询(大于/小于)。 其中text类型字段支持分词可以使用模糊查询。keyword类型只能做等值查询不能进行分词。 1、match类like匹配 1.1 match匹配单个字段 使用match实现全文搜索。类似于SQL中的like操作。 简单使用的语法 GET /{索引名}/_search {query: {match: {{FIELD}: {TEXT}}} } 说明 {FIELD} - 就是我们需要匹配的字段名 {TEXT} - 就是我们需要匹配的内容 例子 GET /article/_search {query: {match : {title : ES教程}} } article索引中title字段匹配“ES教程”的所有文档。 如果title字段的数据类型是text类型搜索关键词会进行分词处理。 等价SQL假设ES教程没有进行分词 select * from article where title like %ES教程% 1.2 multi_match多字段匹配 例子 GET /article/_search {query: {multi_match: {query: 斯柯达前轮制动器,fields:[doc_title,doc_content]}} } 等价SQL select * from article where doc_title like %斯柯达前轮制动器的分词% or doc_content like %斯柯达前轮制动器的分词% 因为 斯柯达前轮制动器的分词 会有很多所以实际上也会有很多的like而不仅仅是上面的两个like。 1.3 multi_phrase顺序匹配 match_phrase查询是ES中一种用于精确匹配短语的查询方式可以确保查询字符串中的关键词按照给定的顺序在文档中连续出现。 说明检索词还是进行分词的分词后的各个单词的顺序在 被检索的文中是一样的。 例子 GET /article/_search {query: {match_phrase: {doc_content: 制动器装配}} } 搜索结果 2、term精确匹配单个字段 使用term实现精确匹配。 如果想要类似SQL语句中的等值匹配不需要进行分词处理例如订单号、手机号、时间字段不需要分值处理只要精确匹配。 语法 GET /{索引名}/_search {query: {term: {{FIELD}: {VALUE}}} } {FIELD} - 就是我们需要匹配的字段名 {VALUE} - 就是我们需要匹配的内容除了TEXT类型字段以外的任意类型。 例子 GET /order_v2/_search {query: {term: {order_no: 202003131209120999}} } 搜索订单号order_no 202003131209120999的文档。 类似SQL语句 select * from order_v2 where order_no 202003131209120999 3、terms实现SQL的in语句 如果我们要实现SQL中的in语句一个字段包含给定数组中的任意一个值就匹配。 语法 GET /order_v2/_search {query: {terms: {{FIELD}: [{VALUE1},{VALUE2}]}} } 说明 {FIELD} - 就是我们需要匹配的字段名 {VALUE1}, {VALUE2} … {VALUE N} - 就是我们需要匹配的内容除了TEXT类型字段以外的任意类型。 例子 GET /order_v2/_search {query: {terms: {shop_id: [123,100,300]}} } 搜索order_v2索引中shop_id字段只要包含[123,100,300]其中一个值就算匹配。 类似SQL语句 select * from order_v2 where shop_id in (123,100,300) 4、range范围查询 通过range实现范围查询类似SQL语句中的, , , 表达式。 语法 GET /{索引名}/_search {query: {range: {{FIELD}: {gte: 10, lte: 20}}} } 参数说明 {FIELD} - 字段名 gte范围参数 - 等价于 lte范围参数 - 等价于 范围参数可以只写一个例如仅保留 “gte”: 10 则代表 FIELD字段 10 范围参数如下 gt - 大于 gte - 大于且等于 lt - 小于 lte - 小于且等于 例子 GET /order_v2/_search {query: {range: {shop_id: {gte: 10,lte: 200}}} } 查询order_v2索引中shop_id 10 且 shop_id 200的文档。类似SQL select * from order_v2 where shop_id 10 and shop_id 200 5、bool组合查询 前面的例子都是设置单个字段的查询条件如果想要编写类似SQL的Where语句组合多个字段的查询条件可以使用bool语句。 5.1 bool查询基本语法结构 语法 GET /{索引名}/_search {query: {bool: { // bool查询must: [], // must条件类似SQL中的and, 代表必须匹配条件must_not: [], // must_not条件跟must相反必须不匹配条件should: [] // should条件类似SQL中or, 代表匹配其中一个条件}} }must、must_not和should条件的参数都是一个数组意味着他们都支持设置多个条件。 同时前面介绍的单个字段的匹配语句都可以用在bool查询语句中进行组合。 5.2 must条件 类似SQL的and代表必须匹配的条件。 语法 GET /{索引名}/_search {query: {bool: {must: [{匹配条件1},{匹配条件2},...可以有N个匹配条件...]}} }例子 GET /order_v2/_search {query: {bool: {must: [{term: {order_no: 202003131209120999}},{term: {shop_id: 123}}]}} }这里的Must条件使用了term精确匹配等价SQL select * from order_v2 where order_no202003131209120999 and shop_id123 5.3 must_not条件 跟must的作用相反语法类似。 5.4 should条件 类似SQL中的 or 只要匹配其中一个条件即可。 语法 GET /{索引名}/_search{query: {bool: {should: [{匹配条件1},{匹配条件2},…可以有N个匹配条件…]}}} 例子 GET /order_v2/_search {query: {bool: {should: [{term: {order_no: 202003131209120999}},{term: {order_no: 22222222222222222}}]}} } 等价SQL select * from order_v2 where order_no202003131209120999 or order_no22222222222222222 5.5 bool综合例子 GET /order_v2/_search {query: {bool: {should: [{bool: {must: [{term: {order_no: 2020031312091209991}},{range: {shop_id: {gte: 10,lte: 200}}}]}},{terms: {tag: [1,2,3,4,5,12]}}]}} } 等价SQL select * from order_v2 where (order_no202003131209120999 and (shop_id10 and shop_id200)) or tag in (1,2,3,4,5)6、wildcard通配符查询 wildcard 关键字: 通配符查询 ? 用来匹配一个任意字符 * 用来匹配多个任意字符。 例子 GET /xizi/emp/_search{query: {wildcard: {name: {value: xi*}}}} 7、fuzzy模糊查询 fuzzy 模糊查询最大模糊错误必须在0-2之间   搜索关键词长度为 2 不允许存在模糊 0 搜索关键词长度为3-5 允许一次模糊 0 1   搜索关键词长度大于5 允许最大2模糊 例子 GET /xizi/emp/_search{query: {fuzzy: {name:xizi}}} 8、额外限制条件 8.1 _source指定返回字段 例子1 get lib3/user/_search {_source:[name,age],query:{match: {interests: changge}}结果只返回索引中name和age字段信息 例子2 get lib3/user/_search {query:{match_all: {}},_source:{includes: addr*,excludes: [name,bir*]} } 显示要的字段、去除不需要的字段、可以使用通配符*。 8.2 boost查询的权重 8.3 min_similarity设置匹配的最小相似度 8.4 highlight高亮搜索结果 例子 get data_info/_search {_source:[doc_title,doc_content],query: {match: {doc_content: 斯柯达前轮制动器}},highlight:{fields:{doc_content:{}}} } 返回结果 8.5 size指定返回条数 ES默认返回10条结果。 例子 get data_info/_search {query: {match: {doc_content: 斯柯达前轮制动器}},size: 2 } 结果中只有2条信息。 8.6 from分页查询 from 关键字: 用来指定起始返回位置和size关键字连用可实现分页效果。 例子 get data_info/_search {query: {match: {doc_content: 斯柯达前轮制动器}},size: 2,from: 3 } 8.7 指定字段排序sort 使用该属性会让得分失效。 例子 GET /db_idx4/_search {query:{match_all:{}},sort:[{age:desc}] }三、全文搜索 1、概念 平时我们使用SQL like语句搜索一些文本、字符串是否包含指定的关键词如果两篇文章都包含我们的关键词那么具体哪篇文章内容的相关度更高这个SQL的like语句是做不到的更别说like语句的性能问题了。 ES通过分词、相关度计算可以解决这个问题ES内置了一些相关度算法大致上意思是如果一个关键词在一篇文章出现的频率高并且在其他文章中出现少那说明这个关键词与这篇文章的相关度很高。 ES对于text类型的字段在插入数据的时候会进行分词处理然后根据分词的结果索引文档当我们搜索text类型字段的时候也会先对搜索关键词进行分词处理、然后根据分词的结果去搜索。 2、分词效果测试 语法 GET /_analyze {text: 需要分词的内容,analyzer: 分词器 } 例子 GET http://xx.elasticsearch.aliyuncs.com:9200/_analyze {text:上海大学,analyzer: standard } 使用standard分词器对上海大学进行分词下面是输出结果 {tokens: [{token: 上,start_offset: 0,end_offset: 1,type: IDEOGRAPHIC,position: 0},{token: 海,start_offset: 1,end_offset: 2,type: IDEOGRAPHIC,position: 1},{token: 大,start_offset: 2,end_offset: 3,type: IDEOGRAPHIC,position: 2},{token: 学,start_offset: 3,end_offset: 4,type: IDEOGRAPHIC,position: 3}] } token就是分解出来的关键词。
http://www.pierceye.com/news/290374/

相关文章:

  • 关键词搜不到我的网站wordpress 内网访问
  • 检察机关门户网站建设工作自查报告网站建设服务领域
  • 网站排名seo软件泉州高端模板建站
  • 昆山网站建设苦瓜网站建设费用会计分录
  • 免费pc网站建设网页设计与制作自学
  • 酒店 网站构建东莞常平碧桂园铂悦府
  • 子域名做微信开放平台网站应用公司做网站需要网站维护人员吗
  • 百度游戏排行榜风云榜青岛seo关键词优化排名
  • html写手机网站备案网站负责人
  • 做网站价位西安工程建设信息中心
  • 国外购物网站建设盐城做网站的哪家公司好
  • wordpress仿站软件遵化市城乡建设规划局网站
  • 湖北大网站建设贵州住房建设厅官网查询
  • 买个网站域名要多少钱一年网站建设热门吗
  • 高埗网站建设软件开发工程师就是程序员吗
  • 青岛正一品网站建设seo搜索优化排名
  • 响应式网站制设计wordpress游戏充值
  • 怎么看网站服务器地址网络设计一个月多少钱
  • 网站友情链接模块创作网站
  • 廉江手机网站建设公司商品展示介绍网站源码
  • 网站备案更换主体ui设计素材
  • 湖南住房和建设厅网站免费的网站建设开发
  • 苏州园区建设网站首页娱乐新闻做的好的网站
  • 江苏省建设集团有限公司网站做网站的软件dw下载
  • 做网站需要学些什么软件杭州学校网站建设
  • 建设银行网上银行网站可以开通网银wordpress 种子插件
  • 一般网站图标是用什么做的网件路由器无线中继
  • 手机 网站 开发淘宝店铺网站策划书
  • 网站建设规划方案书滨州网站建设 中企动力
  • 网站建设品牌推荐做网站必须要公网ip