• 64.root object的理解


    一、root object的理解

       

    就是某个type对应的mapping json,包括properties,metadata_id_source_type),settingsanalyzer),其他settings(比如include_in_all等,下例中加黄色的就是root object)

       

    PUT /my_index

    {

    "mappings": {

    "my_type": {

    "properties": {}

    }

    }

    }

       

    二、properties

       

    在poperties中设置typeindexanalyzer

    示例

    PUT /my_index/_mapping/my_type

    {

    "properties": {

    "title": {

    "type": "text"

    }

    }

    }

       

    三、_source

    这个选项就是保存原始的json对象

    优点:

    1)查询的时候,直接可以拿到完整的document,不需要先拿document id,再发送一次请求拿document

    2partial update基于_source实现

    3reindex时,直接基于_source实现,不需要从数据库(或者其他外部存储)查询数据再修改

    4)可以基于_source定制返回field

    5debug query更容易,因为可以直接看到_source

       

    如果不需要上述好处,可以禁用_source,这样就不保存原始的json对象。

       

    PUT /my_index/_mapping/my_type2

    {

    "_source": {"enabled": false}

    }

    只能是建立索引时就设置,一但建立索引后就不能再更改。

       

    四、_all

       

    将所有field合并串联在一起,作为一个_all field字符串,建立索引并进行分词。如果在搜索过程中没指定任何field进行搜索时,就是使用_all field在搜索。也可以在新建index时把该选项设置为false

       

    PUT /my_index/_mapping/my_type3

    {

    "_all": {"enabled": false}

    }

       

    也可以在field级别设置include_in_all field,设置是否要将field的值包含在_all field

    示例

    PUT /my_index/_mapping/my_type4

    {

    "properties": {

    "my_field": {

    "type": "text",

    "include_in_all": false

    }

    }

    }

       

    5、标识性metadata

       

    _index_type_id

  • 相关阅读:
    天生我牛必有用
    struts1.x+spring2.5+JPA(hibernate)整合
    Struts2拦截器
    使用Apache的commonscodes加密
    解放鞋 Ospop解放鞋
    告别2008 明天2009
    异常java.lang.UnsupportedClassVersionError: Bad version number in .class file
    C#中的Process类使用
    C#中使用MD5加密
    Struts2 Action(1)
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8475990.html
Copyright © 2020-2023  润新知