ElasticSearch03索引(index)三层含义
ElasticSearch03索引(index)三层含义
AllenOR灵感 发表于7个月前
ElasticSearch03索引(index)三层含义
  • 发表于 7个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

在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全文

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 8
博文 2139
码字总数 82983
×
AllenOR灵感
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: