mirror of
https://gitee.com/dromara/easy-es.git
synced 2025-12-06 09:09:13 +08:00
1 line
24 KiB
JavaScript
1 line
24 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{333:function(t,a,s){"use strict";s.r(a);var e=s(6),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[t._v("本文将介绍 Easy-Es 注解包相关类详解(更多详细描述可点击查看源码注释)")]),t._v(" "),s("blockquote",[s("p",[t._v("注解类包源码:👉 "),s("a",{attrs:{href:"https://gitee.com/dromara/easy-es/tree/master/easy-es-annotation",target:"_blank",rel:"noopener noreferrer"}},[t._v("easy-es-annotation"),s("OutboundLink")],1)])]),t._v(" "),s("h2",{attrs:{id:"esmapperscan"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#esmapperscan"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://gitee.com/dromara/easy-es/blob/master/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/EsMapperScan.java",target:"_blank",rel:"noopener noreferrer"}},[t._v("@EsMapperScan"),s("OutboundLink")],1)]),t._v(" "),s("ul",[s("li",[s("p",[t._v("描述:mapper扫描注解,功能与MP的@MapperScan一致")])]),t._v(" "),s("li",[s("p",[t._v("使用位置:Springboot启动类")])])]),t._v(" "),s("div",{staticClass:"language-java line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{pre:!0,attrs:{class:"token annotation punctuation"}},[t._v("@EsMapperScan")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"cn.easy-es-mapper"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Application")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 省略其它...")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),t._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[t._v("1")]),s("br"),s("span",{staticClass:"line-number"},[t._v("2")]),s("br"),s("span",{staticClass:"line-number"},[t._v("3")]),s("br"),s("span",{staticClass:"line-number"},[t._v("4")]),s("br")])]),s("table",[s("thead",[s("tr",[s("th",[t._v("属性")]),t._v(" "),s("th",[t._v("类型")]),t._v(" "),s("th",[t._v("必须指定")]),t._v(" "),s("th",[t._v("默认值")]),t._v(" "),s("th",[t._v("描述")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("value")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("是")]),t._v(" "),s("td",[t._v('""')]),t._v(" "),s("td",[t._v("自定义mapper所在包全路径")])])])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("温馨提示")]),t._v(" "),s("p",[t._v("由于EE和MP对Mapper的扫描都是采用Springboot的doScan,而且两套系统互相独立,所以在扫描的时候没有办法互相隔离,因此如果您的项目同时有用到EE和MP,您需要将EE的Mapper和MP的Mapper放在不同的包下,否则项目将无法正常启动。")])]),t._v(" "),s("h2",{attrs:{id:"indexname"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#indexname"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://gitee.com/dromara/easy-es/blob/master/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexName.java",target:"_blank",rel:"noopener noreferrer"}},[t._v("@IndexName"),s("OutboundLink")],1)]),t._v(" "),s("ul",[s("li",[s("p",[t._v("描述:索引名注解,标识实体类对应的索引 对应MP的@TableName注解,在v0.9.40之前此注解为@TableName.")])]),t._v(" "),s("li",[s("p",[t._v("使用位置:实体类")])])]),t._v(" "),s("div",{staticClass:"language-java line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{pre:!0,attrs:{class:"token annotation punctuation"}},[t._v("@IndexName")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Document")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 省略其它字段")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),t._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[t._v("1")]),s("br"),s("span",{staticClass:"line-number"},[t._v("2")]),s("br"),s("span",{staticClass:"line-number"},[t._v("3")]),s("br"),s("span",{staticClass:"line-number"},[t._v("4")]),s("br")])]),s("table",[s("thead",[s("tr",[s("th",[t._v("属性")]),t._v(" "),s("th",[t._v("类型")]),t._v(" "),s("th",[t._v("必须指定")]),t._v(" "),s("th",[t._v("默认值")]),t._v(" "),s("th",[t._v("描述")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("value")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v('""')]),t._v(" "),s("td",[t._v("索引名,可简单理解为MySQL表名")])]),t._v(" "),s("tr",[s("td",[t._v("shardsNum")]),t._v(" "),s("td",[t._v("int")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("1")]),t._v(" "),s("td",[t._v("索引分片数")])]),t._v(" "),s("tr",[s("td",[t._v("replicasNum")]),t._v(" "),s("td",[t._v("int")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("1")]),t._v(" "),s("td",[t._v("索引副本数")])]),t._v(" "),s("tr",[s("td",[t._v("aliasName")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v('""')]),t._v(" "),s("td",[t._v("索引别名")])]),t._v(" "),s("tr",[s("td",[t._v("keepGlobalPrefix")]),t._v(" "),s("td",[t._v("boolean")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("false")]),t._v(" "),s("td",[t._v("是否保持使用全局的 tablePrefix 的值,与MP用法一致")])]),t._v(" "),s("tr",[s("td",[t._v("child")]),t._v(" "),s("td",[t._v("boolean")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("false")]),t._v(" "),s("td",[t._v("是否子文档")])]),t._v(" "),s("tr",[s("td",[t._v("childClass")]),t._v(" "),s("td",[t._v("Class")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("DefaultChildClass.class")]),t._v(" "),s("td",[t._v("父子文档-子文档类")])])])]),t._v(" "),s("blockquote",[s("p",[s("strong",[t._v("动态索引名称支持")]),t._v("\n如果你的索引名称是不固定的,我们提供了两种方式可修改CRUD时的索引名称")]),t._v(" "),s("ul",[s("li",[t._v("调用mapper.setCurrentActiveIndex(String indexName)方法,此处的mapper为你自定义的mapper,如documentMapper,通过此API修改索引名称后,全局生效.")]),t._v(" "),s("li",[t._v("在对应的参数中指定当前操作作用的索引,例如 wrapper.index(String indexName),通过此API修改索引名称后,仅作用于该wrapper对应的操作,粒度最细.")])])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("温馨提示")]),t._v(" "),s("ul",[s("li",[t._v("当您想直接把类名当作索引名,且并不需要对索引进行其它配置时,可省略此注解")]),t._v(" "),s("li",[t._v("通过注解指定的索引名称优先级最高,指定了注解索引,则全局配置和自动生成索引不生效,采用注解中指定的索引名称. 优先级排序: 注解索引>全局配置索引前缀>自动生成")]),t._v(" "),s("li",[t._v("keepGlobalPrefix选项,(0.9.4+版本才支持)默认值为false,是否保持使用全局的 tablePrefix 的值:\n"),s("ul",[s("li",[t._v("既配置了全局tablePrefix,@TableName注解又指定了value值时,此注解选项才会生效,如果其值为true,则框架最终使用的索引名称为:全局tablePrefix+此注解的value,例如:dev_document.")]),t._v(" "),s("li",[t._v("此注解选项用法和MP中保持一致.")])])]),t._v(" "),s("li",[t._v("其中shardNum为分片数,replicasNum为副本数,如果不指定,默认值均为1")])])]),t._v(" "),s("h2",{attrs:{id:"indexid"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#indexid"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://gitee.com/dromara/easy-es/blob/master/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexId.java",target:"_blank",rel:"noopener noreferrer"}},[t._v("@IndexId"),s("OutboundLink")],1)]),t._v(" "),s("ul",[s("li",[t._v("描述:ES主键注解,在v0.9.40之前此注解为@TableId.")]),t._v(" "),s("li",[t._v("使用位置:实体类中被作为ES主键的字段, 对应MP的@TableId注解")])]),t._v(" "),s("div",{staticClass:"language-java line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Document")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token annotation punctuation"}},[t._v("@IndexId")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" id"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 省略其它字段")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),t._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[t._v("1")]),s("br"),s("span",{staticClass:"line-number"},[t._v("2")]),s("br"),s("span",{staticClass:"line-number"},[t._v("3")]),s("br"),s("span",{staticClass:"line-number"},[t._v("4")]),s("br"),s("span",{staticClass:"line-number"},[t._v("5")]),s("br")])]),s("table",[s("thead",[s("tr",[s("th",[t._v("属性")]),t._v(" "),s("th",[t._v("类型")]),t._v(" "),s("th",[t._v("必须指定")]),t._v(" "),s("th",[t._v("默认值")]),t._v(" "),s("th",[t._v("描述")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("value")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v('"_id"')]),t._v(" "),s("td",[t._v("主键字段名")])]),t._v(" "),s("tr",[s("td",[t._v("type")]),t._v(" "),s("td",[t._v("Enum")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("IdType.NONE")]),t._v(" "),s("td",[t._v("指定主键类型")])])])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("温馨提示")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("当您字段命名为id且类型为String时,且不需要采用UUID及自定义ID类型时,可省略此注解")])]),t._v(" "),s("li",[s("strong",[t._v("由于es对id的默认名称做了处理(下划线+id):_id,所以EE已为您屏蔽这步操作,您无需在注解中指定,框架也会自动帮您完成映射.")])]),t._v(" "),s("li",[s("strong",[t._v("Id的生成类型支持以下几种:")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("IdType.AUTO:")]),t._v(" 由ES自动生成,是默认的配置,无需您额外配置 推荐")]),t._v(" "),s("li",[s("strong",[t._v("IdType.UUID:")]),t._v(" 系统生成UUID,然后插入ES (不推荐)")]),t._v(" "),s("li",[s("strong",[t._v("IdType.CUSTOMIZE:")]),t._v(" 由用户自定义,用户自己对id值进行set,如果用户指定的id在es中不存在,则在insert时就会新增一条记录,如果用户指定的id在es中已存在记录,则自动更新该id对应的记录.")])])])]),t._v(" "),s("p",[s("strong",[t._v("优先级:")]),t._v(" 注解配置的Id生成策略>全局配置的Id生成策略")])]),t._v(" "),s("h2",{attrs:{id:"indexfield"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#indexfield"}},[t._v("#")]),t._v(" "),s("a",{attrs:{href:"https://gitee.com/dromara/easy-es/blob/master/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexField.java",target:"_blank",rel:"noopener noreferrer"}},[t._v("@IndexField"),s("OutboundLink")],1)]),t._v(" "),s("ul",[s("li",[t._v("描述:ES字段注解, 对应MP的@TableField注解,在v0.9.40之前此注解为@TableField")]),t._v(" "),s("li",[t._v("使用位置:实体类中被作为ES索引字段的字段")]),t._v(" "),s("li",[t._v("使用场景举例:")])]),t._v(" "),s("ol",[s("li",[t._v("实体类中的字段并非ES中实际的字段,比如把实体类直接当DTO用了,加了一些ES中并不存在的无关字段,此时可以标记此字段,以便让EE框架跳过此字段,对此字段不处理.")]),t._v(" "),s("li",[t._v("字段的更新策略,比如在调用更新接口时,实体类的字段非Null或者非空字符串时才更新,此时可以加字段注解,对指定字段标记更新策略.")]),t._v(" "),s("li",[t._v('对指定字段进行自定义命名,比如该字段在es中叫wu-la,但在实体model中叫ula,此时可以在value中指定value="wu-la".')]),t._v(" "),s("li",[t._v("在自动托管索引模式下,可指定索引分词器及索引字段类型.")]),t._v(" "),s("li",[t._v("在自动托管索引模式下,可指定索引中日期的format格式.")]),t._v(" "),s("li",[t._v("...")])]),t._v(" "),s("p",[t._v("使用示例:")]),t._v(" "),s("div",{staticClass:"language-java line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Document")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 此处省略其它字段... ")]),t._v("\n \n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 场景一:标记es中不存在的字段")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token annotation punctuation"}},[t._v("@IndexField")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("exist "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" notExistsField"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 场景二:更新时,此字段非空字符串才会被更新")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token annotation punctuation"}},[t._v("@IndexField")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("strategy "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("FieldStrategy")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("NOT_EMPTY"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" creator"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 场景三:自定义字段名")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token annotation punctuation"}},[t._v("@IndexField")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"wu-la"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" \n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" ula"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 场景四:支持日期字段在es索引中的format类型")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token annotation punctuation"}},[t._v("@IndexField")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("fieldType "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("FieldType")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("DATE"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" dateFormat "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" gmtCreate"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 场景五:支持指定字段在es索引中的分词器类型")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token annotation punctuation"}},[t._v("@IndexField")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("fieldType "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("FieldType")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("TEXT"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" analyzer "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Analyzer")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("IK_SMART"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" searchAnalyzer "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Analyzer")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("IK_MAX_WORD"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" content"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),t._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[t._v("1")]),s("br"),s("span",{staticClass:"line-number"},[t._v("2")]),s("br"),s("span",{staticClass:"line-number"},[t._v("3")]),s("br"),s("span",{staticClass:"line-number"},[t._v("4")]),s("br"),s("span",{staticClass:"line-number"},[t._v("5")]),s("br"),s("span",{staticClass:"line-number"},[t._v("6")]),s("br"),s("span",{staticClass:"line-number"},[t._v("7")]),s("br"),s("span",{staticClass:"line-number"},[t._v("8")]),s("br"),s("span",{staticClass:"line-number"},[t._v("9")]),s("br"),s("span",{staticClass:"line-number"},[t._v("10")]),s("br"),s("span",{staticClass:"line-number"},[t._v("11")]),s("br"),s("span",{staticClass:"line-number"},[t._v("12")]),s("br"),s("span",{staticClass:"line-number"},[t._v("13")]),s("br"),s("span",{staticClass:"line-number"},[t._v("14")]),s("br"),s("span",{staticClass:"line-number"},[t._v("15")]),s("br"),s("span",{staticClass:"line-number"},[t._v("16")]),s("br"),s("span",{staticClass:"line-number"},[t._v("17")]),s("br"),s("span",{staticClass:"line-number"},[t._v("18")]),s("br"),s("span",{staticClass:"line-number"},[t._v("19")]),s("br"),s("span",{staticClass:"line-number"},[t._v("20")]),s("br"),s("span",{staticClass:"line-number"},[t._v("21")]),s("br"),s("span",{staticClass:"line-number"},[t._v("22")]),s("br"),s("span",{staticClass:"line-number"},[t._v("23")]),s("br")])]),s("table",[s("thead",[s("tr",[s("th",[t._v("属性")]),t._v(" "),s("th",[t._v("类型")]),t._v(" "),s("th",[t._v("必须指定")]),t._v(" "),s("th",[t._v("默认值")]),t._v(" "),s("th",[t._v("描述")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("value")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v('""')]),t._v(" "),s("td",[t._v("字段名")])]),t._v(" "),s("tr",[s("td",[t._v("exist")]),t._v(" "),s("td",[t._v("boolean")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("true")]),t._v(" "),s("td",[t._v("字段是否存在")])]),t._v(" "),s("tr",[s("td",[t._v("fieldType")]),t._v(" "),s("td",[t._v("Enum")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("FieldType.NONE")]),t._v(" "),s("td",[t._v("字段在es索引中的类型")])]),t._v(" "),s("tr",[s("td",[t._v("analyzer")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("Analyzer.NONE")]),t._v(" "),s("td",[t._v("索引文档时用的分词器")])]),t._v(" "),s("tr",[s("td",[t._v("searchAnalyzer")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("Analyzer.NONE")]),t._v(" "),s("td",[t._v("查询分词器")])]),t._v(" "),s("tr",[s("td",[t._v("strategy")]),t._v(" "),s("td",[t._v("Enum")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("FieldStrategy.DEFAULT")]),t._v(" "),s("td",[t._v("字段验证策略")])]),t._v(" "),s("tr",[s("td",[t._v("dateFormat")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v('""')]),t._v(" "),s("td",[t._v("es索引中的日期格式,如yyyy-MM-dd")])]),t._v(" "),s("tr",[s("td",[t._v("nestedClass")]),t._v(" "),s("td",[t._v("Class")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("DefaultNestedClass.class")]),t._v(" "),s("td",[t._v("嵌套类")])]),t._v(" "),s("tr",[s("td",[t._v("parentName")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v('""')]),t._v(" "),s("td",[t._v("父子文档-父名称")])]),t._v(" "),s("tr",[s("td",[t._v("childName")]),t._v(" "),s("td",[t._v("String")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v('""')]),t._v(" "),s("td",[t._v("父子文档-子名称")])]),t._v(" "),s("tr",[s("td",[t._v("joinFieldClass")]),t._v(" "),s("td",[t._v("Class")]),t._v(" "),s("td",[t._v("否")]),t._v(" "),s("td",[t._v("JoinField.class")]),t._v(" "),s("td",[t._v("父子文档-父子类型关系字段类")])])])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("温馨提示")]),t._v(" "),s("ul",[s("li",[t._v("更新策略一共有3种:\n"),s("ul",[s("li",[t._v("NOT_NULL: 非Null判断,字段值为非Null时,才会被更新")]),t._v(" "),s("li",[t._v("NOT_EMPTY: 非空判断,字段值为非空字符串时才会被更新")]),t._v(" "),s("li",[t._v("IGNORE: 忽略判断,无论字段值为什么,都会被更新")])])])]),t._v(" "),s("p",[t._v("其中场景四和场景五仅在索引自动托管模式下生效,如果开启了手动处理索引模式,则需要用户通过手动调用我提供的API传入相应的分词器及日期格式化参数进行索引的创建/更新.")])]),t._v(" "),s("h2",{attrs:{id:"其它注解"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#其它注解"}},[t._v("#")]),t._v(" 其它注解")]),t._v(" "),s("p",[t._v("除了上面这几个高频注解,项目中偶尔还会用到一些其它注解,比如高亮注解@HighLight,比如拦截器注解@Intercepts等注解,我们会在后面具体的章节详细介绍,此处仅列出几个必须掌握的注解,其它注解按需学习即可。")])])}),[],!1,null,null,null);a.default=n.exports}}]); |