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

远大科技 网站建设大庆哈尔滨网站建设

远大科技 网站建设,大庆哈尔滨网站建设,中国楼市最新消息2022,诚聘网站开发之前实践过的Elasticsearch到现在基本上的语法我都回忆不起来了#xff0c;所以准备写篇文章帮助自己复习一下#xff0c;没有什么技术含量的分享#xff0c;但是也分享给想初步了解的朋友们。就不介绍Elasticsearch了#xff0c;直接进入正文(手动分割线0.0)-------------… 之前实践过的Elasticsearch到现在基本上的语法我都回忆不起来了所以准备写篇文章帮助自己复习一下没有什么技术含量的分享但是也分享给想初步了解的朋友们。就不介绍Elasticsearch了直接进入正文(手动分割线0.0)------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------为了模拟真实场景建议大家在linux下安装Elasticsearch。Kibana是一个Elasticsearch索引库数据统计工具可以利用Elasticsearch的聚合功能生成各种图表而且还提供了操作Elasticsearch索引数据的控制台并且提供了一定的API提示非常有利于我们学习Elasticsearch的语法(划重点提供API提示)建议安装。启动后Kibana后选择左侧的DevTools菜单即可进入控制台页面1.基本概念Elasticsearch也是基于Lucene的全文检索库本质也是存储数据很多概念与MySQL类似的。对比关系索引(indices)--------------------------------Databases 数据库类型(type)-----------------------------Table 数据表     文档(Document)----------------Row 行   字段(Field)-------------------Columns 列2.创建索引Elasticsearch采用Rest风格API因此其API就是一次http请求你可以用任何工具发起http请求创建索引的请求格式请求方式PUT请求路径/索引库名请求参数json格式{    settings: {        number_of_shards: 3,        number_of_replicas: 2     }}number_of_shards分片数量number_of_replicas副本数量settings索引库的设置查看和删除分别使用get和delete请求即可。2.1 映射配置通俗的讲就是mysql数据库中的建表创建映射请求方式依然是PUTPUT /索引库名/_mapping/类型名称{ properties: {   字段名: {     type: 类型,     index: true     store: true     analyzer: 分词器   } }}类型名称就是前面type的概念类似于数据库中的不同表字段名任意填写 可以指定许多属性例如type类型可以是text、long、short、date、integer、object等index是否索引默认为truestore是否存储默认为falseanalyzer分词器Elasticsearch中支持的数据类型非常丰富他的String类型又分两种这个很有特色text可分词不可参与聚合keyword不可分词数据会作为完整字段进行匹配可以参与聚合2.1.2indexindex影响字段的索引情况。true字段会被索引则可以用来进行搜索。默认值就是truefalse字段不会被索引不能用来搜索index的默认值就是true但是有些字段是我们不希望被索引的比如商品的图片信息就设置index为false。2.1.3 store是否将数据进行额外存储。Elasticsearch在创建文档索引时会将文档中的原始数据备份保存到一个叫做_source的属性中。而且我们可以通过过滤_source来选择哪些要显示哪些不显示。而如果设置store为true就会在_source以外额外存储一份数据多余因此一般我们都会将store设置为false。默认就为false2.2 新增数据通过POST请求可以向一个已经存在的索引库中添加数据示例POST /test/goods/{    title:篮球,    images:123,    price:99}通过kibana查看数据get _search{    query:{        match_all:{}    }}-----------------------------------------------------------------------------响应{  _index: test,  _type: goods,  _id: r9c1KGMBIhaxtY5rlRKv,  _version: 1,  _score: 1,  _source: {    title: 篮球,    images: 123,    price: 99  }}_source源文档信息所有的数据都在里面。_id这条文档的唯一标示与文档自己的id字段没有关联3. 查询我们从4块来讲查询基本查询_source过滤结果过滤高级查询排序3.1基本查询基本语法GET /索引库名/_search{    query:{        查询类型:{            查询条件:查询条件值       }   }}这里的query代表一个查询对象里面可以有不同的查询属性查询类型例如match_all matchterm  range 等等查询条件查询条件会根据类型的不同写法也有差异示例GET /test/_search{    query:{        match_all: {}    }}query代表查询对象match_all代表查询所有------------------------------------------------------------------------------结果{  took: 2,  timed_out: false,  _shards: {    total: 3,    successful: 3,    skipped: 0,    failed: 0  },  hits: {    total: 2,    max_score: 1,    hits: [      {        _index: jiang,        _type: goods,        _id: 2,        _score: 1,        _source: {          title: 篮球,          images: 123,          price: 99        }      },      {        _index: jiang,        _type: goods,        _id: r9c1KGMBIhaxtY5rlRKv,        _score: 1,        _source: {          title: 足球,          images: 123,          price: 69        }      }    ]  }}took查询花费时间单位是毫秒time_out是否超时_shards分片信息hits搜索结果总览对象_index索引库_type文档类型_id文档id_score文档得分_source文档的源数据total搜索到的总条数max_score所有结果中文档得分的最高分hits搜索结果的文档对象数组每个元素是一条搜索到的文档信息3.2匹配查询or关系match类型查询会把查询条件进行分词然后进行查询,多个词条之间是or的关系GET /test/_search{    query:{        match:{            title:小米电视        }    }}结果不仅会查询到电视而且与小米相关的都会查询到多个词之间是or的关系。-------------------------------------------------------------------------------------------------------and关系某些情况下我们需要更精确查找我们希望这个关系变成and可以这样做GET /test/_search{    query:{        match: {          title: {            query: 小米电视,            operator: and          }        }    }}这样只有同时包含小米和电视的词条才会被搜索到。3.3多字段查询multi_match与match类似不同的是它可以在多个字段中查询结果我们会在title字GET /test/_search{    query:{        multi_match: {            query:    小米,            fields:   [ title, subTitle ]        } }}段和subtitle字段中查询小米这个词3.4词条匹配(term)term 查询被用于精确值 匹配这些精确值可能是数字、时间、布尔或者那些未分词的字符串GET /test/_search{    query:{        term:{            price:2699.00        }    }}3.5结果过滤默认情况下elasticsearch在搜索的结果中会把文档中保存在_source的所有字段都返回。如果我们只想获取其中的部分字段我们可以添加_source的过滤GET /test/_search{  _source: [title,price],  query: {    term: {      price: 2699    }  }}------------------------------------------------------------------------------------------------------------突然发现有点晚了还是下次再继续介绍高级查询和聚合的使用好了。。。。。。。。。。。敬请期待~~~~~~~~~~~
http://www.zqtcl.cn/news/135798/

相关文章:

  • 网站地图生成器横琴人寿保险公司官网
  • 免费建站网站一级大录像不卡专业团队建设方案
  • 创建网站的目的是什么想自己建个网站
  • 网站开发公司有什么福利龙岩几个县
  • 网站镜像做排名成都网站开发
  • 江西建设推广网站苏州 网站的公司
  • 中山民众网站建设有一个网站专门做民宿
  • 快速建站完整版兰州兼职做网站
  • 西安网站群搭建php网站开发设计
  • 网站首页没收录php做的网站源代码
  • 网站搭建技术要求企业网站推广的一般策略
  • 网站建设流程行业现状安阳历史
  • 制作软件的网站装饰工程设计东莞网站建设
  • 如何不花钱开发网站搜索引擎营销原理是什么
  • 网站不能访问如何做冗余Wordpress手机短信
  • 深圳的设计网站公司新媒体网站建设
  • 网站title优化实搜网站建设
  • 淘宝网网页版官网优化系统软件
  • 公司找网站做宣传做账网页设计的岗位叫什么
  • 门户网站区别视频上传下载网站建设
  • 企业局域网组建与网站建设域名备案的网站名称
  • 广西学校论坛网站建设网站建设得花多少钱
  • 装修公司网站源代码网站建设岗位周计划
  • 有没有专门学做婴儿衣服的网站org.wordpress utils
  • 网站关键词 提醒哪个网站做视频有钱挣
  • 建设企业网站注意事项菜篮网网站开发技术
  • 怎么把图片做超链接到网站wordpress 配置模板
  • 湘潭网站seo惠州市建设厅网站
  • 广州外贸网站效果百度竞价开户需要多少钱
  • 广州做手机网站信息附近卖建筑模板市场