elasticsearch基础知识以及创建索引_赶路人儿的博客-CSDN博客_es索引类型


本站和网页 https://blog.csdn.net/liuxiao723846/article/details/78444472 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

elasticsearch基础知识以及创建索引_赶路人儿的博客-CSDN博客_es索引类型
elasticsearch基础知识以及创建索引
赶路人儿
于 2017-11-13 17:12:14 发布
75280
收藏
61
分类专栏:
es
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liuxiao723846/article/details/78444472
版权
es
专栏收录该内容
17 篇文章
1 订阅
订阅专栏
一、基础概念:
1、索引:
索引(index)是elasticsearch的一个逻辑存储,可以理解为关系型数据库中的数据库,es可以把索引数据存放到一台服务器上,也可以sharding后存到多台服务器上,每个索引有一个或多个分片,每个分片可以有多个副本。
2、索引类型(index_type):
在es中,一个索引对象可以存储多个不同用途的对象,通过索引类型(index_type)可以区分单个索引中的不同对象,可以理解为关系型数据库中的表。每个索引类型可以有不同的结构,但是不同的索引类型不能为相同的属性设置不同的类型。
3、文档(document):
存储在es中的主要实体叫文档(document),可以理解为关系型数据库中表的一行记录。每个文档由多个字段构成,es是一个非结构化的数据库,每个文档可以有不同的字段,并且有一个唯一的标识符。
4、映射(mapping):
ES默认是动态创建索引和索引类型的mapping的。这就相当于无需定义Solr中的Schema,无需指定各个字段的索引规则就可以索引文件,很方便。但有时方便就代表着不灵活。比如,ES默认一个字段是要做分词的,但我们有时要搜索匹配整个字段却不行。如有统计工作要记录每个城市出现的次数。对于NAME字段,若记录“new york”文本,ES可能会把它拆分成“new”和“york”这两个词,分别计算这个两个单词的次数,而不是我们期望的“new york”。
这时,就需要我们在创建索引时定义mapping。此外,es支持多字段结构,例如:我们希望两个字段中有相同的值,一个用于搜索,一个用户排序;或者一个用于分词器分析,一个用于空白字符。例如:编写mapping文件如下:
"index_type":{
"properties":{
"ID":{
"type":"string",
"index":"not_analyzed"
},
"NAME":{
"type":"string",
"fields":{
"NAME":{
"type":"string"
},
"raw":{
"type":"string",
"index":"not_analyzed"
}以上文件是说我们对于index_type这个索引类型,定义了它的mapping。重点是将NAME这个字段映射为两个,一个是需要做索引分析的NAME,另一个是不分析的raw,即不会拆分new york这种词组。这样我们在做搜索的时候,就可以对NAME.raw这个字段做term aggregation,获得所有城市出现的次数了。term aggregation的REST方式的请求编写如下:
"query": {
"match_all": {}
},
"aggregations": {
"cityAggs": {
"terms": {
"field": "NAME.raw"
二、创建索引:
1、使用postman工具:
1)es提供了restful api,可以通过post请求,创建索引的mapping。如下图:url为es服务器集群中的一个节点ip,端口是9200,其中test是索引名称;post数据中,test_type是索引类型名称,里面包含了两个字段id和name
2)删除索引:
同样,es提供了restful api,可以通过delete请求,删除索引。
2、使用es-java api:
上面我们使用了http常用的方式创建所以,接下来我们使用api的方式:
public static boolean createIndex(String indexName, String indexType,
String mappingSource) {
if (isExistsIndex(indexName)) {
return false;
IndicesAdminClient indicesAdminClient = transportClient.admin()
.indices();
// setting
Settings settings = Settings.builder().put("index.number_of_shards", 3)
.put("index.number_of_replicas", 2).build();
// mapping
CreateIndexResponse response = indicesAdminClient
.prepareCreate(indexName).setSettings(settings)// setting
.addMapping(indexType, mappingSource)// type,mapping
.get();
return response.isAcknowledged();
public static void testCreateIndex4Mapping() {
String indexName= "test";
String indexType = "test_type";
JSONObject mappingJson = new JSONObject();
JSONObject mappingTypeJson = new JSONObject();
JSONObject propertiesJson = new JSONObject();
JSONObject idJson = new JSONObject();
idJson.put("type", "string");
idJson.put("store", "true");
propertiesJson.put("id", idJson);
JSONObject nameJson = new JSONObject();
nameJson.put("type", "string");
propertiesJson.put("name", nameJson);
mappingTypeJson.put("properties", propertiesJson);
mappingJson.put(indexType, mappingTypeJson);
logger.info(mappingJson.toJSONString());
createIndex(indexName, indexType, mappingJson.toJSONString());
其中,mappingSource打印出来的字符:
"test_type": {
"properties": {
"id": {
"store": "true",
"type": "string"
},
"name": {
"type": "string"
赶路人儿
关注
关注
10
点赞
61
收藏
打赏
评论
elasticsearch基础知识以及创建索引
一、基础概念:1、索引:索引(index)是elasticsearch的一个逻辑存储,可以理解为关系型数据库中的数据库,es可以把索引数据存放到一台服务器上,也可以sharding后存到多台服务器上,每个索引有一个或多个分片,每个分片可以有多个副本。2、索引类型(index_type):在es中,一个索引对象可以存储多个不同用途的对象,通过索引类型(index_type)可以区分单
复制链接
扫一扫
专栏目录
elasticsearch–使用http创建索引
01-20
设置索引
设置mapping
设置当前索引库的mappings信息
mappings:{
govBaseLog:{
properties:{
id:{
type:long,
store:true
},
title:{
type:text,
store:true,
index:true,
analyzer:standard
},
content:{
type:text,
store:tr
ES 地图经纬度搜索
最新发布
weixin_60934893的博客
11-26
83
ES中提供了一个数据类型 geo_point,这个类型就是用来存储经纬度的。创建一个带geo_point类型的索引,并添加测试数据。
评论 3
您还未登录,请先
登录
后发表或查看评论
ES篇:ElasticSearch教程——创建索引、类型、文档
weixin_41297324的博客
11-05
3万+
ES知识汇总:https://blog.csdn.net/gwd1154978352/article/details/82781731
介绍
索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库。事实上,我们的数据被存储和索引在分片(shards)中,索引只是一个把一个或多个分片分组在一起的逻辑空间。然而,这只是一些内部细节——我们的程序完全不用关心分片。对于我...
Elasticsearch零停机索引重建
chc340121的专栏
10-25
127
Elasticsearch零停机重建索引
ES无法更新字段属性问题
Elasticsearch数据库
七色米的足迹
05-06
8万+
1、什么是Elasticsearch1、概念以及特点 1、Elasticsearch和MongoDB/Redis/Memcache一样,是非关系型数据库。是一个接近实时的搜索平台,从索引这个文档到这个文档能够被搜索到只有一个轻微的延迟,企业应用定位:采用Restful API标准的可扩展和高可用的实时数据分析的全文搜索工具。 2、可拓展:支持一主多从且扩容简易,只要clust...
ES基本介绍
热门推荐
NasubiZW
06-28
30万+
简介
ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。
同时ES还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向扩展至数以百计的服务器存储以及处理PB级的数据。
可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。
ES就是为高可用和可扩展而生的。一方面可以通...
ES(ElasticSearch) 索引创建
Wandys的博客
03-12
9万+
环境:ES 6.2.2os:Centos 7kibana:6.2.21、创建新的索引(index) PUT indexTest001 结果:2、索引设置 ES 默认提供了好多索引配置选项,参考https://www.elastic.co/guide/en/elasticsearch/reference/5.6/index-modules.html,这些配置选项都有经过优化的...
Elasticsearch 索引是什么?
jq1223的博客
04-20
2549
Elasticsearch 索引指相互关联的文档集合。Elasticsearch 会以 JSON 文档的形式存储数据。每个文档都会在一组键(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、日期、数值组、地理位置或其他类型的数据)之间建立联系。
Elasticsearch 使用的是一种名为倒排索引的数据结构,这一结构的设计可以允许十分快速地进行全文本搜索。倒排索引会列出在所有文档中出现的每个特有词汇,并且可以找到包含每个词汇的全部文档。
在索引过程中,Elasticsearch 会存储文档并.
7.2-ES索引映射的字段类型
红笺小字
05-29
2877
ES索引映射字段类型,对应版本7.17
es索引、类型(mapping)、文档、ik分词器
程序三两行
07-17
751
es索引、类型(mapping)、文档、ik分词器
ElasticSearch(三)ElasticSearch索引操作
lomtom's Blog
12-07
418
往 Elasticsearch 添加数据时需要用到 索引 —— 保存相关数据的地方。
索引实际上是指向一个或者多个物理 分片 的 逻辑命名空间 。
索引可以比作数据库。
一个 分片 是一个底层的 工作单元 ,它仅保存了全部数据中的一部分。
而现在我们只需知道一个分片是一个 Lucene 的实例,以及它本身就是一个完整的搜索引擎。
我们的文档被存储和索引到分片内,但是应用程序是直接与索引而不是与分片进行交互。
一个分片可以是 主分片或者副本分片。 索引内任意一个文档都归属于一个主分片,所以主分片的数目决定着索
黑马头条项目 10.4 索引与类型
weixin_41672684的博客
12-22
63
索引与类型
索引
查看索引
curl 127.0.0.1:9200/_cat/indices
请求curl 127.0.0.1:9200/_cat可获取用于查询的名称
创建索引
索引可以在添加文档数据时,通过动态映射的方式自动生成索引与类型。
索引也可以手动创建,通过手动创建,可以控制主分片数目、分析器和类型映射。
PUT /my_index
"settings": { ... any settings ... },
"mappings": {
【ElasticSearch 6.*】 学习四:基础知识和索引的创建
大道至简,知易行难
12-19
1559
基础知识
索引:含有相同属性的文档集合(类似数据库)
类型:索引可以定义一个或者多个类型,文档必须属于一个类型(类似数据库中的表)
文档:文档是可以被索引的基本数据单位(类似表中的行数据)
分片:每个索引都有多个分片,每个分片都是一个Lucene索引
备份:拷贝一份分片就完成了分片的备份。
分片的好处:索引数据量大,可以索引分成多个分片,分摊压力
备份的好处:主分片失败或者出问题,备份分片可...
ES索引操作
weixin_30322405的博客
07-25
213
1、创建测试索引
PUT /test_index{ "mappings": { "test_type":{ "properties": { "code":{ "type": "keyword" }, "name":{ "type": "text", "analyzer": "ik" ...
es索引介绍
weixin_30536513的博客
09-15
1279
1、索引引擎&图书类比
1、索引引擎
正排索引:文档id到文档内容和单词的的映射关系(唯一性)
倒排索引:单词到文档id的关系(范围性)
2、图书
正排索引:目录页
倒排索引:附录的索引页
2、正排索引&倒排索引图
如上图
左边的是正排索引,通过文档的id如查找文档的内容
右边的是倒排索引,通过单词统计次数以及文档的...
分布式搜索引擎Elasticsearch开发实战基础篇
11-14
本教程旨在带领大家进入搜索引擎领域,从无到有,深入浅出的讲解了什么是搜索引擎,搜索引擎的作用以及ElasticSearch在实际工作中的作用等。
学成在线--day11 搜索服务
zgz102928的博客
03-17
158
学成在线-第11天-讲义-搜索服务 1 课程搜索需求分析
创建映射
初始化数据
执行查询全部,这个ES得API 得方法名特别难记,之前做ES得时候,着些代码都有现成得,建议熟悉得就过一下就可以了,不必要在敲一遍了
public void testSearchAll() throws IOException, ParseException {
//搜索请...
Elasticsearch-基础介绍及索引原理分析
m0_67403073的博客
04-18
680
介绍
Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:
分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
实时分析的分布式搜索引擎。
可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
基本概念
先说Elasticsearch的文件存储,Elasticsearch是面向文档型
ElasticSearch的索引操作
feizuiku0116的博客
08-01
227
代码】ElasticSearch的索引操作。
7.3-elasticsearch索引字段类型详情
红笺小字
05-29
1443
ES字段基础类型详情,binary、date、join、keyword、numeric、range、text、token count
elasticsearch如何新建索引+查询索引+删除索引+判断索引是否存在
奶萝卜的博客
04-27
787
elasticsearch如何新建索引+查询索引+删除索引+判断索引是否存在
1.es新建索引,并定义好索引类型
输入
PUT /log
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
},
"mappings": {
"properties": {
"id": {
"type": "long"
},
"url": {
"type": "text"
},
"ac
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:技术工厂
设计师:CSDN官方博客
返回首页
赶路人儿
CSDN认证博客专家
CSDN认证企业博客
码龄12年
暂无认证
1014
原创
1万+
周排名
56
总排名
824万+
访问
等级
6万+
积分
1370
粉丝
1897
获赞
752
评论
6641
收藏
私信
关注
热门文章
jmeter之插件perfmon
411670
echarts中横坐标值显示不全(自动隐藏)解决方案
106481
git 创建本地分支、提交到远程分支
105420
css input 输入框背景透明
99558
git checkout到历史某个版本
89660
分类专栏
k8s
1篇
算法
5篇
机器学习
14篇
tensorflow
4篇
java
809篇
scala
1篇
guava
11篇
spring
35篇
jmeter
8篇
java8
12篇
数据库-oracle
52篇
数据库-mysql
150篇
nosql
25篇
web前端
294篇
react
5篇
nodejs
38篇
安卓
23篇
html5
18篇
linux
284篇
docker
4篇
awk
4篇
nginx
40篇
运维
22篇
hadoop
58篇
spark
2篇
kafka
2篇
mapreduce
26篇
hdfs
17篇
hbase
12篇
hive
34篇
flink
13篇
flume
20篇
storm
4篇
git工具
29篇
工具
32篇
认证(oauth)
2篇
协议
14篇
python
36篇
zookeeper
7篇
分布式
5篇
mq
13篇
thrift
12篇
es
17篇
scala&groovy
1篇
C++
30篇
最新评论
TreeMap按照value进行排序
m9_22458869:
好嘞 谢谢
TreeMap按照value进行排序
m9_22458869:
好嘞 谢谢
TreeMap按照value进行排序
赶路人儿:
第13行加一个负号
TreeMap按照value进行排序
m9_22458869:
如果是降序应该怎么改
解决MYSQL出现Can't create/write to file....
千Q:
up,为什么加了之后mysql启动不了呢?
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
RST及java socket关闭后读写的各种异常
SO_REUSEPORT socket选项介绍以及在nginx上的配置
Tomcat的IO模型
2022
12月
4篇
11月
6篇
10月
4篇
09月
5篇
08月
2篇
07月
3篇
06月
10篇
05月
9篇
04月
8篇
03月
15篇
02月
2篇
01月
10篇
2021年94篇
2020年203篇
2019年114篇
2018年184篇
2017年212篇
2016年266篇
2015年453篇
2014年417篇
2013年17篇
目录
目录
分类专栏
k8s
1篇
算法
5篇
机器学习
14篇
tensorflow
4篇
java
809篇
scala
1篇
guava
11篇
spring
35篇
jmeter
8篇
java8
12篇
数据库-oracle
52篇
数据库-mysql
150篇
nosql
25篇
web前端
294篇
react
5篇
nodejs
38篇
安卓
23篇
html5
18篇
linux
284篇
docker
4篇
awk
4篇
nginx
40篇
运维
22篇
hadoop
58篇
spark
2篇
kafka
2篇
mapreduce
26篇
hdfs
17篇
hbase
12篇
hive
34篇
flink
13篇
flume
20篇
storm
4篇
git工具
29篇
工具
32篇
认证(oauth)
2篇
协议
14篇
python
36篇
zookeeper
7篇
分布式
5篇
mq
13篇
thrift
12篇
es
17篇
scala&groovy
1篇
C++
30篇
目录
评论 3
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
赶路人儿
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值