ElasticSearch 实现分词全文检索()_7

  本篇文章为你整理了ElasticSearch 实现分词全文检索()的详细内容,包含有 ElasticSearch 实现分词全文检索,希望能帮助你了解 ElasticSearch 实现分词全文检索。

  http://ip;port/index/type/_search: 查询文档,可以在请求体中添加json字符串来代表查询条件

  http://ip;port/index/type/doc_id/_update: 修改文档,在请求体中指定ison字符串代表修改的具体信息

  PUT 请求:

  http://ip;port/index: 创建一个索引,需要在请求体中指定索引的信息,类型,结构

  http://ip:port/index/type/_mappings: 代表创建索引时,指定索引文档存储的属性的信息

  DELETE 请求:

  http://ip;port/index: 删除跑路

  http://ip;port/index/type/doc_id: 删除指定的文档

  
ElasticSearch 实现分词全文检索 - 概述
 

  ElasticSearch 实现分词全文检索 - ES、Kibana、IK安装
 

  ElasticSearch 实现分词全文检索 - Restful基本操作
 

  ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作 --待发布
 

  ElasticSearch 实现分词全文检索 - Java SpringBoot ES 文档操作 --待发布
 

  ElasticSearch 实现分词全文检索 - 测试数据准备 --待发布
 

  ElasticSearch 实现分词全文检索 - term、terms查询 --待发布
 

  ElasticSearch 实现分词全文检索 - id、ids、prefix、fuzzy、wildcard、range、regexp 查询 --待发布
 

  ElasticSearch 实现分词全文检索 - Scroll 深分页 --待发布
 

  ElasticSearch 实现分词全文检索 - delete-by-query --待发布
 

  ElasticSearch 实现分词全文检索 - 复合查询 --待发布
 

  ElasticSearch 实现分词全文检索 - filter查询 --待发布
 

  ElasticSearch 实现分词全文检索 - 高亮查询 --待发布
 

  ElasticSearch 实现分词全文检索 - 聚合查询 cardinality --待发布
 

  ElasticSearch 实现分词全文检索 - 经纬度查询 --待发布

  Restful 语法

  GET 请求:

  

http://ip:port/index: 查询索引信息

 

  http://ip;port/index/type/doc_id: 查询指定的文档信息

  

 

  POST 请求:

  

http://ip;port/index/type/_search: 查询文档,可以在请求体中添加json字符串来代表查询条件

 

  http://ip;port/index/type/doc_id/_update: 修改文档,在请求体中指定ison字符串代表修改的具体信息

  

 

  PUT 请求:

  

http://ip;port/index: 创建一个索引,需要在请求体中指定索引的信息,类型,结构

 

  http://ip:port/index/type/_mappings: 代表创建索引时,指定索引文档存储的属性的信息

  

 

  DELETE 请求:

  

http://ip;port/index: 删除跑路

 

  http://ip;port/index/type/doc_id: 删除指定的文档

  

 

  创建一个索引

  Kibana 操作
 

  创建 person 索引

  

# 创建一个索引

 

  PUT /person

   "settings": {

   "number_of_shards": 5, #分片数

   "number_of_replicas": 1 #备份数

  

 

  返回值

  

{

 

   "acknowledged" : true,

   "shards_acknowledged" : true,

   "index" : "person"

  

 

  Kibana 中查看

  Stack Management - 索引管理

  
 

  
 

  单机版,分片无法存放,所以 yellow 黄色

  查看索引信息

  

# 查看索引信息

 

  GET /person

  

 

  删除索引信息

  

# 删除索引

 

  DELETE /person

  

 

  Kibana 操作
 

  Field datatypes

  

String:

 

   text: 一般用于全文检索。将当前的Field进行分词

   keyword: 当前 Field 不会被分词

  数值类型:

   long、 integer、 short、 byte、 double、 float、

   half_float:精度比float小一半

   scaled_float:根据一个long和scaled来表达一个浮点型, long=345,scaled=100 = 3.45

  时间类型:

   date:针对时间类型指定具体格式

  布尔类型:

   boolean:表达true和false

  二进制类型:

   binary:暂时支持Base64 encode string

  范围类型(Range datatypes):

   long_range: 赋值时,无序指定具体的内容,只需要存储一个范围即可,指定gt,此,gte,lte

   integer_range:同上

   double_range:同上

   float_range: 同上

   date_range:同上

   ip_range: 同上。

  经纬度类型:

   geo_point: 用来存储经纬度,结合定位的经纬度,来计算出距离

   ip: 可以存付IPV4、IPV6

  

 

  其它类型参考官网:

  创建索引并指定结构

  

## 创建索引并指定结构

 

  PUT /book

   "settings": {

   "number_of_shards": 1,

   "number_of_replicas": 1

   "mappings": {

   // 文档存储的Field

   "properties":{

   "name":{

   // 类型

   "type":"text",

   // 指定分词器

   "analyzer":"ik_max_word",

   // 指定当前Field可以被作为查询的条件

   "index":true,

   // 是否需要额外存储

   "store":false

   "author":{

   "type":"keyword"

   "count":{

   "type":"long"

   "on-sale":{

   "type":"date",

   // 时间类型时格式化方式

   "format":"yyyy-MM-dd HH:mm:ssyyyy-MM-ddepoch_millis"

   "descr":{

   "type":"text",

   "analyzer":"ik_max_word"

  

 

  文档在ES服务中的唯一标识,_index, _type, _id 三个内容为组合,锁定一个文档进行操作

  自动生成 _id

  ID不方便使用

  

# 添加文档,自动生成 id

 

  POST /book/_doc

   "name":"太极",

   "author":"伏羲",

   "count":888,

   "on-sale":"2023-02-23",

   "descr":"太极生两仪,两仪生四象,四象生八卦"

  

 

  返回

  

{

 

   "_index" : "book",

   "_type" : "_doc", //创建时没指定,默认的

   "_id" : "YJJLfYYBGlLaT58LDoV5", // 自动生成的ID

   "_version" : 1,

   "result" : "created",

   "_shards" : {

   "total" : 2,

   "successful" : 1,

   "failed" : 0

   "_seq_no" : 0,

   "_primary_term" : 1

  

 

  手动创建ID

  

POST /book/_doc/1

 

   "name":"太极拳",

   "author":"陈王廷",

   "count":666,

   "on-sale":"2023-02-23",

   "descr":"掤、捋、挤、按、采、列、肘、靠"

  

 

  返回值

  

{

 

   "_index" : "book",

   "_type" : "_doc",

   "_id" : "1",

   "_version" : 1,

   "result" : "created",

   "_shards" : {

   "total" : 2,

   "successful" : 1,

   "failed" : 0

   "_seq_no" : 1,

   "_primary_term" : 1

  

 

  覆盖式修改

  

PUT /book/_doc/1

 

   "name":"太极拳",

   "author":"陈王廷",

   "count":666, //如果不赋值,原来的值将被更新成 0

   "on-sale":"2023-02-28",

   "descr":"掤、捋、挤、按、采、列、肘、靠"

  

 

  doc 修改方式

  Deprecation: [types removal] Specifying types in document update requests is deprecated, use the endpoint /{index}/_update/{id} instead.

  

POST /book/_doc/1/_update

 

   "doc":{

   // 指定Field单独修改

   "count":6666

  

 

  返回值

  

#! Deprecation: [types removal] Specifying types in document update requests is deprecated, use the endpoint /{index}/_update/{id} instead.

 

   "_index" : "book",

   "_type" : "_doc",

   "_id" : "1",

   "_version" : 2,

   "result" : "updated",

   "_shards" : {

   "total" : 2,

   "successful" : 1,

   "failed" : 0

   "_seq_no" : 2,

   "_primary_term" : 1

  

 

  

DELETE /book/_doc/YJJLfYYBGlLaT58LDoV5

 

  

 

  
 

  
 

  
 

  
 

  
 

  以上就是ElasticSearch 实现分词全文检索()的详细内容,想要了解更多 ElasticSearch 实现分词全文检索的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: