本篇文章为你整理了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。