es中的keyword
时间: 2023-06-20 22:10:25 浏览: 88
在 Elasticsearch 中,keyword 是一种数据类型,用于存储不分词的文本。与 text 类型不同,keyword 类型将整个字符串作为单个项进行索引,而不是将其分成单词。这使得 keyword 类型非常适合用于过滤、聚合和排序等操作,因为它们可以精确匹配值而不会受到分词器的影响。同时,由于不需要进行分词处理,keyword 类型在存储空间上也比 text 类型更为节省。在 Elasticsearch 中,可以使用 mapping 来指定一个字段的数据类型为 keyword。
相关问题
es中keyword和text的区别
在Elasticsearch中,keyword和text是两种不同的数据类型。
keyword是一种精确匹配的数据类型,适用于需要精确匹配的字段,如ID、名称等。它不会对文本进行分词处理,而是将整个文本作为一个整体进行索引和搜索。
text是一种全文搜索的数据类型,适用于需要进行全文搜索的字段,如文章内容、描述等。它会对文本进行分词处理,将文本分成一个个词条进行索引和搜索。在搜索时,会匹配文本中的任意一个词条,而不是整个文本。
因此,keyword和text的区别在于,keyword适用于精确匹配,而text适用于全文搜索。
ElasticSearch 字段keyword类型长度
Elasticsearch 中的 keyword 类型是一种不可分词的字符串类型,通常用于精确搜索和排序。关于 keyword 字段类型的长度,它的长度限制取决于所使用的 Lucene 版本以及在创建索引时是否启用了 doc_values。在 Lucene 8.0 及以上版本中,没有启用 doc_values 的情况下,keyword 字段的长度限制为 32766 个字符。如果启用了 doc_values,则限制为 32764 个字符。在 Lucene 7.0 及以下版本中,不启用 doc_values 的情况下,keyword 字段的长度限制为 32767 个字符。如果启用了 doc_values,则限制为 32765 个字符。需要注意的是,这些限制只适用于单个字段中的文本长度,而不是整个文档的大小。如果您需要存储更长的文本,可以考虑使用 text 类型并启用分词。
阅读全文