文档章节

ElasticSearch03索引(index)三层含义

AllenOR灵感
 AllenOR灵感
发布于 2017/09/10 01:18
字数 331
阅读 4
收藏 0

在elasticsearch中索引(index)有三个层面的含义:

index(名词)

获取一份文档可以通过在浏览器中直接输入url、curl命令或程序es.get()好几种方式去完成。
浏览器: http://192.168.1.132/website/blog/1
curl: curl -XGET http://192.168.1.132/website/blog/1
程序(python):

from elasticsearch import Elasticsearch
from pprint import pprint
es = Elasticsearch(hosts=["192.168.1.132"])
s = es.get(
    index="website",
    doc_type="blog",
    id=1
)
pprint(s)

uri /website/blog/1 中的 /website 就是一个index(名词), 第二级路径/blog是类别, 用于对文档的二级归类.

index(动词)

指的是写入一份文档到一个索引(名词)中,这个行为叫做index(动词)。例如下面这段代码实际上就是将body这个json文档,写入到website的索引(名词)中。

from elasticsearch import Elasticsearch
es = Elasticsearch(hosts=["192.168.1.132"])
es.index(
    index="website",
    doc_type="blog",
    id=1,
    body={
        "title": "My first blog entry",
        "text":  "Just trying this out...",
        "date":  "2014/01/01"
    }
)

Inverted index(倒排索引)

关系型数据库中采用B-tree为某个指定的字段创建索引(该索引与上面两种说法都不一样),从而提高数据检索速度,而elasticsearch采用Inverted index(倒排索引)来达到相同目的。

elasticsearch在默认情况下,为每个字段都做了一个倒排索引。

更多需要参考这里:
倒排索引
精确值VS全文

本文转载自:http://www.jianshu.com/p/48ebc3f1ba93

共有 人打赏支持
AllenOR灵感
粉丝 10
博文 2634
码字总数 82983
作品 0
程序员
详细介绍如何搭建ELK集群

Logstash 1.1 安装 注:安装在需要收集日志的机器上。 1.2 创建配置 1.3 启动 ElasticSearch集群(三台) 2.1 安装 2.2 配置 2.2.1 elasticsearch01 2.2.2 elasticsearch02 2.2.3 elasticsea...

禁区铁铍人
2017/12/07
0
0
pandas入门——多重索引

多重索引 设置多重索引 # 导入数据 import pandas as pd import numpy df1 = pd.readcsv(filepathor_buffer="D://movie.csv") dfnew = df1.setindex(["country","director_name"],append=Tru......

百合花开1
2017/09/28
0
0
HBase – 探索HFile索引机制

本文由 网易云 发布 作者: 范欣欣 本篇文章仅限内部分享,如需转载,请联系网易获取授权。 01 HFile索引结构解析 HFile中索引结构根据索引层级的不同分为两种:single-level和mutil-level,...

wangyiyungw
05/10
0
0
MongoDB干货系列2-MongoDB执行计划分析详解(3)

写在之前的话 作为近年最为火热的文档型数据库,MongoDB受到了越来越多人的关注,但是由于国内的MongoDB相关技术分享屈指可数,不少朋友向我抱怨无从下手。 《MongoDB干货系列》将从实际应用...

OSC一霸
2016/07/25
25
0
ES权威指南(中文版)学习_1

1、在ES中存储数据的行为叫做 索引(indexing),不过在索引之前我们应该明确的是数据应该存储在哪里。 2、在ES中,文档归属于一种类型(type),而这些类型存在于索引(index)中,类比传统...

MrYx3en
2015/09/21
121
0

没有更多内容

加载失败,请刷新页面

加载更多

活动推荐|互联网3.0与区块链新时代论坛(北京)

1 时间地点 **时间:**9月22日 14:00 - 18:00 地点:(北京海淀)西大街70号 3w咖啡 二层 2 活动详情 Harmony创始人Stephen及团队将介绍他们的区块链分片扩容技术。Stephen曾任Apple地图服务...

HiBlock
39分钟前
1
0
如何优雅的删除Redis的大key

关于Redis大键(Key),我们从[空间复杂性]和访问它的[时间复杂度]两个方面来定义大键。前者主要表示Redis键的占用内存大小;后者表示Redis集合数据类型(set/hash/list/sorted set)键,所含有的...

IT--小哥
49分钟前
1
0
spring cloud学习笔记

工具 eclipse 4.9 gradle 4.10.2 spring cloud Finchley.SR1 spring boot 2.0.4 build.gradle buildscript {ext {springBootVersion = '2.0.4.RELEASE'}repositories {jcenter()......

bobby2006
51分钟前
1
0
Tcl命令操作实验-----(5)

Vivado% proc myproc {arg} {puts $arg}Vivado% myproc mynamemynameVivado% if {2>1} {puts 2>1} else {puts 2<1}2>1...

whoisliang
今天
1
0
比特币钱包RPC的PHP调用方法

当我们希望在Php开发的网站中加入比特币支付功能时,需要解决的第一个 问题,就是如何在Php程序代码中调用比特币钱包的RPC API开发接口来实现 我们期望的功能,例如比特币的支付与接收。 例如...

汇智网教程
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部