更新索引对应的 mapping

PUT /api/:target/_mapping

请求示例

PUT http://localhost:4080/api/myindex/_mapping

请求体

  1. {
  2. "properties": {
  3. "name": {
  4. "type": "text",
  5. "index": true,
  6. "store": true,
  7. "sortable": false,
  8. "aggregatable": false,
  9. "highlightable": true
  10. },
  11. "author": {
  12. "type": "keyword",
  13. "index": true,
  14. "store": false,
  15. "sortable": true,
  16. "aggregatable": true,
  17. "highlightable": false
  18. },
  19. "price": {
  20. "type": "numeric",
  21. "index": true,
  22. "store": false,
  23. "sortable": true,
  24. "aggregatable": true,
  25. "highlightable": false
  26. },
  27. "published": {
  28. "type": "bool",
  29. "index": true,
  30. "store": false,
  31. "sortable": true,
  32. "aggregatable": true,
  33. "highlightable": false
  34. },
  35. "create_at": {
  36. "type": "date",
  37. "format": "2006-01-02T15:04:05Z07:00",
  38. "time_zone": "",
  39. "index": true,
  40. "store": false,
  41. "sortable": true,
  42. "aggregatable": true,
  43. "highlightable": false
  44. }
  45. }
  46. }

mapping 也可以在创建索引时定义。

字段类型

类型 别名 描述
text 默认类型,该类型将字符串分析为某些标记
keyword 将整个字符串作为标记使用,查询时只是一个词项
bool boolean 类似于 keyword,但值只能是 true 或 false。
numeric integer, double, long, short, int, float 数值类型,它支持范围查询。
date time, datetime 日期类型,它支持范围查询和日期聚合

字段类型对应的解析规则

text

默认情况下,所有字符串值都解析为文本类型,它可以支持匹配和许多查询。

文本类型支持两个参数分析器和搜索分析器。

分析器和搜索分析器您可以参考 https://zincsearch-docs.zinc.dev/api/index/analyze/

keyword

您应该预先定义此类型。

通常用于某些特殊值,它应具有限制值,通常不包含空格。例如:一周的几天、一年的四季、某物的标签等。

它可以支持 match 查询、term 查询和 terms 聚合。

bool

非常简单,仅用于布尔类型。它将检测布尔值并将类型设置为 bool。

它可以支持 term 查询和 terms 聚合。

numeric

所有 integer, double, long, short, int, float 的值都将被检测并设置为 numeric 类型。

它可以支持 term查询、terms 聚合、range 聚合以及所有 metrics 聚合,如 min, max, avg, sum, count

date

您应该预先定义此类型。日期类型支持 formattime_zone

format 您可以在 https://pkg.go.dev/time#pkg-constants 中参考日期格式。

默认的日期格式是:2006-01-02T15:04:05Z07:00 ,对应于 time.RFC3339。

您可以设置Go支持的其他格式。

您也可以将日期字段的格式设置为时间戳(epoch_millis)。

time_zone 默认值是 UTC,您可以像下面这样设置:+08:00-01:00

字段属性

所有字段都支持 5 个属性