elasticsearch 的mapping根据不同的数据格式设定属性

申明:学习探讨笔记,非结果性定义。里面很多可能是错误的,参考价值不大

elasticsearch 的mapping

订单号 如:ATTS000928732 类型不分词。 index: not_analyzed

订单号是全部数据 如: 63745345637  这样的分词是可以的。

PUT /Order_v5
{
  "settings": {
     //设置10个分片,理解为类似数据库中的表分区中一个个分区的概念,不知道是否妥当
     "number_of_shards": 10
  },
  "mappings": {
    "trades": {
      "_id": {
        "path": "id"
      },
      "properties": {
        "id": {
         "type": "integer",
        //id:自增数字
        //要求:查询
         "store" : true
        },
        "name": {
        //名称:佳洁士,强生婴儿沐浴露,100w Led节能灯,户外多功能折叠椅等
        //要求:抓住关键字,如:佳洁士+牙膏 or 牙刷; 强生+沐浴露; led+节能+100W; 户外+折叠椅等
        //结论: 如果分词,就意味着产品品牌名词可能被拆分,如 "佳洁士", 如果不分词就意味着对用户输入要求匹配度高。先默认分词,试试看看。
         "type": "string"
        },
        "brand": { //品牌: PG,P&G,宝洁集团,宝洁股份,联想集团,联想电脑等
          "type": "string"
        },
        "orderNo": { //订单号 :如ATTS000928732
          "type": "string",
          "index":  "not_analyzed"
        },
        "description": {
            //描述: 2015款玫瑰香型强生婴儿沐浴露,550ml,包邮
            //搜索: 要求高亮所以设置store:true. 关键词权重:沐浴露 -> {强生+沐浴露 or 玫瑰花 + 沐浴露 or 550ml + 沐浴露 or 沐浴露 + 包邮->
{2015年 + 玫瑰香...}}
            //设置:必须分词,而且要控制好
              "type": "string",              
               "sort": true
},
        "date": {
          "type": "date"
        },
        "city": {
          "type": "string"
        },
        "qty": {               // index无效
            "type": "float"
        },
        "price": {
              //价格: float index无效
             "type": "float"
        }
      }
    }
  }
}

参考:

官网  Elasticsearch.org

http://donlianli.iteye.com/blog/1975727

http://mednoter.com/ElasticSearch.html

....... 不一一列出,佩服那些笔记做好的。

时间: 2024-10-12 07:34:40

elasticsearch 的mapping根据不同的数据格式设定属性的相关文章

elasticsearch 之mapping

搭好elk 后,有时候会发现kibana 统计数据时,数据类型不对,这个时候就和elasticsearch的mapping有关,虽然我们可以用logstash修改传入es里的数据类型,比如 float 或者int 或者string.但是没有double等类型,就算转换了,你会发现写入es的数据还是根据es里mapping表来定义的.接下来我们来学习修改es的mapping,当然mapping的功能有很多种,比如定义索引是否分词,分片和副本的数量是多少等等. 1) 什么是mapping ES的ma

ELK学习总结(4-1)elasticsearch更改mapping(不停服务重建索引)

elasticsearch更改mapping(不停服务重建索引)原文 http://donlianli.iteye.com/blog/1924721Elasticsearch的mapping一旦创建,只能增加字段,而不能修改已经mapping的字段.但现实往往并非如此啊,有时增加一个字段,就好像打了一个补丁,一个可以,但是越补越多,最后自己都觉得惨不忍睹了.怎么办??这里有一个方法修改mapping,那就是重新建立一个index,然后创建一个新的mapping.你可能会问,这要是在生产环境,可行

通过Java的Domain类构建ElasticSearch的mapping

通过给定一个Java的class类自行创建ElasticSearch的mapping Order的domain类 public class Order { public String system_id; public String finger_id; public String merchant_id; public Double tx_money; public String pay_date; public String payment_status; public Date settl

elasticsearch的mapping和analysis

转发自:http://blog.csdn.net/hzrandd/article/details/47128895 分析和分析器 分析(analysis)是这样一个过程: 首先,表征化一个文本块为适用于倒排索引单独的词(term) 然后标准化这些词为标准形式,提高它们的"可搜索性"或"查全率" 这个工作是分析器(analyzer)完成的.一个分析器(analyzer)只是一个包装用于将三个功能放到一个包里: 字符过滤器 首先字符串经过字符过滤器(character

(转)Elasticsearch索引mapping的写入、查看与修改

mapping的写入与查看 首先创建一个索引: curl -XPOST "http://127.0.0.1:9200/productindex" {"acknowledged":true} 现在只创建了一个索引,并没有设置mapping,查看一下索引mapping的内容: curl -XGET "http://127.0.0.1:9200/productindex/_mapping?pretty" { "productindex&quo

Elasticsearch索引mapping的写入、查看与修改

mapping的写入与查看 首先创建一个索引: curl -XPOST "http://127.0.0.1:9200/productindex" {"acknowledged":true} 现在只创建了一个索引,并没有设置mapping,查看一下索引mapping的内容: curl -XGET "http://127.0.0.1:9200/productindex/_mapping?pretty" { "productindex&quo

ElasticSearch添加mapping

1.创建索引 /** * 创建索引 * * @param indexName */public static void createIndex(String indexName) { //插入前删除,以免报错 boolean flag = client.admin().indices().exists(new IndicesExistsRequest().indices(new String[]{indexName})).actionGet().isExists(); if (flag){ cl

curl方式创建elasticsearch的mapping

curl -XPUT 'http://192.168.1.105:9200/bank/item2/_mapping' -d '{ "item2": { "properties": { "title": { "type": "string", "boost": 2.0, "index": "analyzed", "store":

Elasticsearch基础知识学习

概要 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.本人在工作过程中也有幸使用了ELK,下面对ES基础知识进行说明,大部分资料从网上摘抄整理而来,作为我学习ES的笔记记录. 生活中的数据 搜索引擎是对数据的检索,所以我们先从生活中的数据说起.我们生活中的数据总体分为两种:结构数据和非结构化