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

传统纸媒公司网站建设需求郑州seo外包顾问

传统纸媒公司网站建设需求,郑州seo外包顾问,企业网站建设 安全,建站网站排行文章目录简介类型增删改查操作索引原理简介 底层使用的lucene引擎,lucene引擎直接使用相对复杂,有一定的学习成本,同样是使用Java编写,Elasticsearch使用的rest风格的进行交互,而数据呢则是以JSON的方式进行传输。学习…

文章目录

    • 简介
    • 类型
    • 增删改查操作
    • 索引原理

简介

  • 底层使用的lucene引擎,lucene引擎直接使用相对复杂,有一定的学习成本,同样是使用Java编写,Elasticsearch使用的rest风格的进行交互,而数据呢则是以JSON的方式进行传输。
  • 学习Elasticsearch要求使用的JDK版本在8以上。Elasticsearch主要用于检索,尤其是其全文检索的能力,以及自带乐观锁以及友好的集群,让它越来越受欢迎。
  • 使用Elasticsearch首先要指定是如何定位数据。即三要素进行定位,index索引,type类型,id主键(_index,_type,_id
  • PUT,DELETE,POST,GET(使用的方法都是大写,大括号在请求下一行)4种REST请求方式即完成增删改查,当然在ES中改其实是先把旧的移除,重新创建一个新的文档,PUT也可以更新,但是是整体更新,POST则是可以内容追加,不过也是一个新的文档。
  • 1.映射(Mapping
    描述数据在每个字段内如何存储
    2.分析(Analysis
    全文是如何处理使之可以被搜索的
    3.领域特定查询语言(Query DSL
    Elasticsearch 中强大灵活的查询语言

类型

ES的基本类型有:(和关系型SQL区别不需要设置字段的长度)
字符串:text,keyword
数字类型:integer,long
浮点类型"float,double,
布尔类型:boolean,
时间类型:date

在ES中默认只有text类型可以分词,分词使用英文引擎,按照单词分词,如果是中文进行查询的话,则是将数据变成单字分词

增删改查操作

查:

GET /索引名(即数据库)/_doc/_id(记录id值)

增(覆盖式)

PUT /索引名(即数据库)/_doc/_id(记录id值)
{_id:''
}

改:(增量式)

POST  /索引名(即数据库)/_doc/_id(记录id值)
{要修改的字段
}

删除

DELETE /索引名(即数据库)/_doc/_id(记录id值)

批量操作

POST /索引名(即数据库)/_doc/_bulk
{批量的文档(需注意每行文档记录不能换行)
}

高级查询:(Query DSL
1.查询所有

GET /索引名(即数据库)/_search
{"query":{"match_all":{}}
}

2.term条件查询

GET /索引名(即数据库)/_search
{"query":{"term":{}}
}

3.range范围查询

GET /索引名(即数据库)/_search
{"query":{"range":{"字段":{"gt":"值","lte":"值"}}}
}

3.前缀查询

GET /索引名(即数据库)/_search
{"query":{"prefix":{"字段":"值"}}
}

4.通配符查询

*是通配(可以匹配多个长度的),?是占位(匹配固定长度,如goo?,可匹配good,但不能god,匹配的字符长度是固定的)

GET /索引名/_search
{"query": {"wildcard": {"字段": {"value": "值* "}}}
}

5.ids查询

GET /索引名/_search
{"query": {"ids": {"values": id数组}}
}

6.模糊查询[fuzzy]

GET /products/_search
{"query": {"fuzzy": {"字段":"值"}}
}

模糊查询[fuzzy],切记使用有以下规则

fuzzy 关键字: ⽤来模糊查询含有指定关键字的⽂档
注意: fuzzy 模糊查询 最⼤模糊错误 必须在0-2之间
搜索关键词⻓度为 2 不允许存在模糊
搜索关键词⻓度为3-5 允许⼀次模糊
搜索关键词⻓度⼤于5 允许最⼤2模糊

7.布尔查询
这个其实就是基本类似于关系性SQL中的:exist,not exist 等语法

bool 关键字: ⽤来组合多个条件实现复杂查询
must: 相当于&& 同时成⽴
should: 相当于|| 成⽴⼀个就⾏
must_not: 相当于! 不能满⾜任何⼀个

GET /索引名/_search
{"query": {"bool": {"must": [{"term":{要求的条件JSON}}]}}
}

8.多字段查询[multi_match]
GET /索引名/_search

{"query": {"multi_match": {"query": "值","fields":字段数组}}
}

注意: 字段类型分词,将查询条件分词之后进⾏查询改字段 如果该字段不分词就会
将查询条件作为整体进⾏查询

9.默认字段分词查询[query_string]

GET /索引名/_search
{"query": {"query_string": {"default_field": "查询字段","query": "值"}}
}

注意: 查询字段分词就将查询条件分词查询,查询字段不分词将查询条件不分词查询

10.⾼亮查询[highlight]

highlight 关键字: 可以让符合条件的⽂档中的关键词⾼亮

GET /索引名/_search
{"query": {"term": {"字段": {"value": "值"}}},"highlight": {"fields": {"*":{}}}
}

⾃定义⾼亮html标签: 可以在highlight中使⽤ pre_tags 和 post_tags

GET /索引名/_search
{"query": {"term": {"字段": {"value": "值"}}},"highlight": {"post_tags": ["</span>"],"pre_tags": ["<span style='color:red'>"],"fields": {"*":{}}}
}

多字段⾼亮 使⽤ require_field_match 开启多个字段⾼亮

GET /索引名/_search
{"query": {"term": {"字段": {"value": "值"}}},"highlight": {"require_field_match": "false","post_tags": ["</span>"],"pre_tags": ["<span style='color:red'>"],"fields": {"*":{}}}
}

11.分页查询
利用from,和size,起始页同样是0开始,0即第一页

返回指定条数[size]
size 关键字: 指定查询结果中返回指定条数。 默认返回值10条
分⻚查询[form]
from 关键字: ⽤来指定起始返回位置,和size关键字连⽤可实现分⻚效

GET /索引/_search
{"query": {"match_all": {}},"size": 5,"from": 0
}

指定字段排序[sort]

GET /索引名/_search
{"query": {"match_all": {}},"sort": [{"字段": {"order": "desc"}}]
}

12.返回指定字段[_source]
_source 关键字: 是⼀个数组,在数组中⽤来指定展示那些字段

GET /索引名/_search
{"query": {"match_all": {}},"_source": 要展示的指定字段数组
}

索引原理

倒排索引(Inverted Index) 也叫反向索引,有反向索引必有正向索引。
通俗地来讲, 正向索引是通过key找value,反向索引则是通过value找key。
ES底层在检索时底层使⽤的就是倒排索引。

在ES中除了text类型分词,其他类型不分词,因此根据不同字段创建索引。就将文档的内容根据text字段内容先进行一个默认分词,然后将每个分词有默认的,id映射,当我们查询的时候,ES会将我们搜索条件进行分词,再用搜索的分词条件和我们数据的分词内容进行一定的算法匹配,然后找到id,再关联回我们的文档数据,形成一个命中记录集合,并根据匹配算法的匹配程度给文档打分,并返回整一个结果集

本质是使用了空间换时间的实现,搜索来了只要拿搜索关键词和我们的分词关键词比较即可,所以会很快。

注意: Elasticsearch : Elasticsearch分别为每个字段都建⽴了⼀个倒排索引。因此查询
时查询字段的term, term,就能知道⽂档ID,就能快速找到⽂档。

http://www.khdw.cn/news/27144.html

相关文章:

  • wap网站开发价格指定关键词排名优化
  • 淘宝客导购网站建设百度seo报价
  • 做外贸网站好还是内贸网站好360广告推广平台
  • 衡水网站制作公司百度推广获客方法
  • 怎样在百度建立自己的网站如何建立免费个人网站
  • 专业长春网站建设网wordpress seo教程
  • 网站监控怎么做黄页推广平台有哪些
  • 唐山企业网站网站域名查询地址
  • 网站内容管理流程图海外销售平台有哪些
  • 北京市著名的网站制作公司公司广告推广
  • vps怎么上传网站程序内容企业推广
  • wordpress装在根目录文件夹中_如何通过域名直接访问?泰安seo公司
  • 南昌房产网官方网站十大app开发公司排名
  • wordpress开启raid霸榜seo
  • h5网站开发公司高端网站定制设计
  • 建设网站建设什么征琴江苏seo推广
  • 上海建设工程招投标在什么网站疫情防控最新通告
  • 整合营销案例百度推广账户优化
  • 拍拍网站源码百度竞价托管
  • 外贸网站建站赚钱容易被百度收录的网站
  • 网站建设合同 简单营销方案网站
  • 一键建站平台论坛推广怎么做
  • wordpress家居主题朝阳seo推广
  • 重庆公司印章代码查询站群seo
  • 网站成本案例合肥百度关键词优化
  • wordpress媒体库创建文件夹站长工具seo综合查询可以访问
  • 网站用图片发布新闻稿
  • wordpress 作品集是什么天津seo外包平台
  • 政府网站架构可以免费领取会员的软件
  • 广西网络网站建设2022年最新最有效的营销模式