ElasticSearch03索引(index)三层含义

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

你可能感兴趣的:(ElasticSearch03索引(index)三层含义)