一、root object的理解

 
 

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

 
 

PUT /my_index

{

"mappings": {

"my_type": {

"properties": {}

}

}

}

 
 

二、properties

 
 

在poperties中设置type,index,analyzer

示例

PUT /my_index/_mapping/my_type

{

"properties": {

"title": {

"type": "text"

}

}

}

 
 

三、_source

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

优点:

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

(2)partial update基于_source实现

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

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

(5)debug 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

64.root object的理解的更多相关文章

  1. java 多线程 Synchronized方法和方法块 synchronized(this)和synchronized(object)的理解

    synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块. 1. synchronized 方法:通过在方法声明中加入 synchronized ...

  2. dependent object 和root object

    dependent object 是root object 下面的字节点.每个节点被访问,都要通过 root object 进入.

  3. GENIL_BOL_BROWSER 中显示的Object Name 是root object的名字

    EMPLOYEE 是root object 的名字. 2: dynamic query parameters 对应于:srch_attr. Each BOL object appears in a t ...

  4. 关于six.with_metaclass(ABCMeta, object)的理解

    在学习Python过程中,看到了生成虚基类的方式, class PeopleBase(six.with_metaclass(ABCMeta, object)): @abstractmethod def ...

  5. MySQL/MariaDB学习笔记——mysql.user表中存在多个root用户问题理解

    mysql.user表中存在多个root用户问题 问题描述:使用 SELECT host,user FROM mysql.user 发现mysql.user表中存在三个root用户,如下 持着对中几个 ...

  6. 理解 OpenStack 高可用(HA)(3):Neutron 分布式虚拟路由(Neutron Distributed Virtual Routing)

    本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...

  7. python中super的理解(转)

    原文地址:https://www.zhihu.com/question/20040039 针对你的问题,答案是可以,并没有区别.但是这题下的回答我感觉都不够好. 要谈论 super,首先我们应该无视 ...

  8. [No0000147]深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing)理解堆与栈4/4

    前言   虽然在.Net Framework 中我们不必考虑内在管理和垃圾回收(GC),但是为了优化应用程序性能我们始终需要了解内存管理和垃圾回收(GC).另外,了解内存管理可以帮助我们理解在每一个程 ...

  9. 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生

    [转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceM ...

随机推荐

  1. 【OpenGL】Shader实例分析(九)- AngryBots中的主角受伤特效

    转发请保持地址:http://blog.csdn.net/stalendp/article/details/40859441 AngryBots是Unity官方的一个非常棒的样例.非常有研究价值. 曾 ...

  2. coffeescript的上下文

    CoffeeScript代码中,变量,甚至函数前面有时会带上一个@符号,那么翻译到 javascript里,就是 "this." 这就涉及到运行过程中的上下文. 这个this指什么 ...

  3. audio_device模块分析

    1. 对外接口      AudioDeviceModule, 採音放音接口,音量控制,静音控制等       2. 主要类      AudioDeviceModuleImpl, 对外提供的主要实现 ...

  4. 40. combo的displayField和valueField属性

    转自:https://xsl2007.iteye.com/blog/773464 下拉框combo可以设置displayField和valueField属性,这两个值值相当于Java中的map,一个键 ...

  5. 禁用backspace网页回退功能

    <script language="JavaScript">document.onkeydown = check;function check(e) { var cod ...

  6. 一个thinkphhp的聊天类,感觉还可以

    <?phpnamespace Common\Controller;use Think\Controller;class HxController extends Controller{ /** ...

  7. smarty用法

    smarty学习指南 在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计.下载Smarty文件放到你们站点 ...

  8. [Swift通天遁地]二、表格表单-(3)在表格中嵌套另一个表格并使Cell的高度自适应

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. 面试说熟练掌握各种MQ?那你先看看这道题,面试官必问!

    写在前面 我们知道,目前市面上的MQ包括Kafka.RabbitMQ.ZeroMQ.RocketMQ等等. 那么他们之间究竟有什么本质区别,分别适用于什么场景呢? 上述抛出的问题,同样在不少公司的Ja ...

  10. 349 Intersection of Two Arrays 两个数组的交集

    给定两个数组,写一个函数来计算它们的交集.例子: 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示:    每个在结果中的元素必定是唯一的.    我们 ...