Elasticsearch 索引映射:商品信息查询示例

本文将介绍如何使用 Elasticsearch 索引映射定义商品信息,并提供根据商品名称进行查询的示例代码。

索引映射定义

以下是一个简单的商品信息索引映射示例:

{
  "settings": {
    "analysis": {
      "analyzer": {
        "ik": {
          "tokenizer": "ik_max_word"
        }
      }
    },
    "number_of_shards": 5,
    "number_of_replicas": 1
  },
  "mappings": {
    "dynamic": false,
    "_source": {
      "enabled": true
    },
    "properties": {
      "orderNum": {
        "type": "text",
        "analyzer": "ik_max_word"
      },
      "createTime": {
        "type": "date"
      },
      "userName": {
        "type": "keyword"
      },
      "goodsInfo": {
        "type": "nested",
        "properties": {
          "goodsName": {
            "type": "text",
            "analyzer": "ik_max_word"
          },
          "price": {
            "type": "double"
          },
          "goodsCount": {
            "type": "long"
          }
        }
      }
    }
  }
}

该映射定义了以下字段:

  • orderNum: 订单编号,使用 text 类型并使用 ik_max_word 分析器进行分词。
  • createTime: 创建时间,使用 date 类型。
  • userName: 用户名,使用 keyword 类型。
  • goodsInfo: 商品信息,使用 nested 类型,包含以下字段:
    • goodsName: 商品名称,使用 text 类型并使用 ik_max_word 分析器进行分词。
    • price: 商品价格,使用 double 类型。
    • goodsCount: 商品数量,使用 long 类型。

根据商品名称进行查询

根据给定的映射,可以使用以下查询来根据商品名称进行查询:

{
  "query": {
    "match": {
      "goodsInfo.goodsName": '要查询的商品名'
    }
  }
}

这将返回所有 goodsName 字段与查询匹配的文档。

总结

本文介绍了如何使用 Elasticsearch 索引映射定义商品信息,并提供根据商品名称进行查询的示例代码。通过使用合适的映射和查询,我们可以有效地存储和检索商品信息。

Elasticsearch 索引映射:商品信息查询示例

原文地址: https://www.cveoy.top/t/topic/o3Um 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录