ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Text 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/text.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/text.html) 译文链接 :[http://www.apache.wiki/display/Elasticsearch/Text](http://www.apache.wiki/display/Elasticsearch/Text) 贡献者 : [李亚运](/display/~liyayun),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina) ## 简述 该字段用于索引全文文本,例如电子邮件的正文或产品的描述。 对这些字段进行`analyzed` ,即通过[分析器](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html&usg=ALkJrhirN7jhwydyE_LAqx9sWSrWroJIEw "分析")将其转换成索引之前的各个术语列表。 分析过程允许Elasticsearch搜索每个全文本字段中的单个单词。 文本字段不用于排序,很少用于聚合(尽管[重要的术语聚合](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-significantterms-aggregation.html)是一个显着的例外)。 如果您需要索引结构化内容(如电子邮件地址,主机名,状态代码或标签),则可能您应该使用[`keyword`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html&usg=ALkJrhhyUd1xPy5C3s0WRAvmcIZEdkdTog "关键字数据类型")字段。 对于代码或标签,您也可能应该使用[`keyword`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html&usg=ALkJrhhyUd1xPy5C3s0WRAvmcIZEdkdTog "关键字数据类型")字段。 ## 示例 以下是文本字段的映射示例: ``` PUT my_index { "mappings": { "my_type": { "properties": { "full_name": { "type": "text" } } } } } ``` 有时,同时具有全文( `text` )和关键字( `keyword` )版本是有帮助的:一个用于全文本搜索,另一个用于聚合和排序。 这可以通过多字段实现。 ## 参数 `text`字段接受以下参数: | [`analyzer`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/analyzer.html&usg=ALkJrhjWYcEqRqAnSdiBQHby7_zK46-Dpw "分析仪") | [分析器](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html&usg=ALkJrhirN7jhwydyE_LAqx9sWSrWroJIEw "分析")应用于[`analyzed`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index.html&usg=ALkJrhjDd2JjTHxFwTWIVGOI0jtRnFerSQ "指数")字符串字段,无论是在索引时间还是在搜索时间(除非被[`search_analyzer`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/search-analyzer.html&usg=ALkJrhjlUDDK1IODYLamOAaDkDghyQMDdg "search_analyzer") )。 默认为默认索引分析器或[`standard`分析器](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-standard-analyzer.html&usg=ALkJrhgnaMsuZ8BjMzcdTPsqtO7AIaLIMw "标准分析仪")。 | | [`boost`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-boost.html&usg=ALkJrhgVxuBoIuXlpit73lN4jkPWykZGvQ "促进") | 映射字段级查询时间提升。 接受一个浮点数,默认为`1.0` 。 | | [`eager_global_ordinals`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html&usg=ALkJrhh444VidGXZXd5bc6TTbow62TkW8A#global-ordinals "全球序数") | 是否应该全新加载全局序号? `true`或`false` (默认)。 对于经常用于(重要)术语聚合的字段,启用此功能是一个好主意。 | | [`fielddata`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html&usg=ALkJrhh444VidGXZXd5bc6TTbow62TkW8A "fielddata") | 是否可以使用内存中的字段数据进行排序,聚合或脚本编写? `true`或`false` (默认)。 | | [`fielddata_frequency_filter`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html&usg=ALkJrhh444VidGXZXd5bc6TTbow62TkW8A#field-data-filtering "fielddata_frequency_filter") | 此为高级设置,允许在`fielddata`启用时决定哪些值加载到内存中。 默认情况下,所有值都被加载。 | | [`fields`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html&usg=ALkJrhhcdnrgkkNQb_bKmdXsZM0KxinNCg "领域") | 多字段允许以多种方式将相同的字符串值索引到不同的目的,例如用于搜索的一个字段和用于排序和聚合的多字段,或由不同分析器分析的相同字符串值。 | | [`include_in_all`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/include-in-all.html&usg=ALkJrhgG9Eb106moxBiIQnY_RNe0JdNslQ "include_in_all") | 字段值是否应包含在`[_all](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-all-field.html)`字段中? 接受`true`或`false` 。如果[`index`](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index.html)设置为`no` ,或者如果父[`object`](https://www.elastic.co/guide/en/elasticsearch/reference/current/object.html)字段将`include_in_all,默认`设置为`false。` 否则默认为`true` 。 | | [`index`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index.html&usg=ALkJrhjDd2JjTHxFwTWIVGOI0jtRnFerSQ "指数") | 应该可以搜索该字段吗? 接受`true` (默认)或`false` 。 | | [`index_options`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/index-options.html&usg=ALkJrhgQjMZt-jQff64GWpfI4_uUZQXhng "index_options") | 索引中应存储哪些信息,以便搜索和突出显示。 默认为`positions` 。 | | [`norms`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/norms.html&usg=ALkJrhhQhhAljkCCEu4CRzb_QAKpnB-Ebg "规范") | 在评分查询时是否应考虑字段长度。 接受`true` (默认)或`false` 。 | | [`position_increment_gap`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/position-increment-gap.html&usg=ALkJrhij_VFqNMYfvb9WpQZRHKG4Bo-WDw "position_increment_gap") | 应该在字符串数组的每个元素之间插入的假项目位置的数量。 默认为在分析器上配置的`position_increment_gap` ,默认为`100` 。 `100`被选中,因为它阻止了匹配术语与字段值之间的合理大小的间隔(小于100)的短语查询。 | | [`store`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-store.html&usg=ALkJrhjnu1ugPHKcE2l9aGRTyKps04ZZuQ "商店") | 字段值是否应与[`_source`](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html)字段分开存储和检索。 接受`true`或`false` (默认)。 | | [`search_analyzer`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/search-analyzer.html&usg=ALkJrhjlUDDK1IODYLamOAaDkDghyQMDdg "search_analyzer") | [`analyzer`](https://www.elastic.co/guide/en/elasticsearch/reference/current/analyzer.html)应在搜索时使用在[`analyzed`](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index.html)领域。 默认为`analyzer`设置。 | | [`search_quote_analyzer`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/analyzer.html&usg=ALkJrhjWYcEqRqAnSdiBQHby7_zK46-Dpw#search-quote-analyzer "search_quote_analyzer") | 在遇到短语时应在搜索时使用的分析器。 默认为`search_analyzer`设置。 | | [`similarity`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/similarity.html&usg=ALkJrhjJYQJNZkE-ZD-zKQFnUhYPAjJF6A "相似") | 应该使用哪种评分算法或_相似度_ 。 默认为`BM25` 。 | | [`term_vector`](https://translate.googleusercontent.com/translate_c?depth=1&hl=zh-CN&rurl=translate.google.com&sl=en&sp=nmt4&tl=zh-CN&u=https://www.elastic.co/guide/en/elasticsearch/reference/current/term-vector.html&usg=ALkJrhgSxB9ohl9dspjVWXraJPmeDtVYZg "term_vector") | 是否应为[`analyzed`](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index.html)字段存储术语向量。 默认为`no` 。 | 从2.x导入的索引不支持`text` 。 相反,他们会尝试将`text`降级为`string` 。 这使您可以将现有映射与旧版映射进行合并。 在升级到6.x之前,必须重新生成长命索引,但映射降级可让您有机会按照自己的时间表进行安排。