java mapping

作者:原创时间:2022-04-02
文档

java mapping是什么,让我们一起了解一下?

Mapping类似于数据库中的schema定义,Mapping会把json文档映射成Lucene所需要的扁平格式,一个Mapping属于一个索引的type。

Mapping的作用有哪些?

1、定义索引中的字段的名称。

2、定义字段的数据类型,如字符串,数字,布尔等。

3、字段,倒排索引的相关配置(是否分析,用那种分析器)。

如何更改Mapping的字段类型?

1、Dynamic设为true时,一旦有新增字段的文档写入,Mapping也同时被更新。

2、Dynamic设为false时,Mapping不会被更新,新增字段的数据无法被索引,但是信息会出现在_source中。

3、Dynamic设为strict,文档写入失败。

实战操作:具体代码示例如下:

PUT my_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        #自定义分析器名称
        "my_custom_analyzer":{
          #类型,custom,自定义  
          "type":"custom",
          #分词器,emotions,自定义,过滤表请
          "char_filter":["emotions"],
          #tokenizer自定义,过滤标点符号
          "tokenizer":"punctuation",
          #token filter 自定义english_stop,
          "filter":[
            "lowercase","english_stop"
            ]
        }
      },
      "tokenizer": {
        "punctuation":{
          "type":"pattern",
          "pattern":[".,!?"]
        }
      },
      "char_filter": {
        "emotions":{
          "type":"mapping",
          "mappings":["?=>happy"]
        }
      },
      "filter": {
        "english_stop":{
          "type":"stop",
          "stopwords":"english"
        }
      }
    }
  }
}
 
POST my_index/_analyze
{
  "analyzer":"my_custom_analyzer",
  "text":"i am very ? !?"
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java math.ceil java matlab java matrix java memcpy java merge java method java mian java mina java mkdir java mmap java mockito java modelandview java module java monad java mono java mqtt java multiset java mvvm java mybatisplus java namespace java malloc java main java logstash java logging java localtime java locale java list.contains java list.add java linq java linklist java leveldb java lamada java kudu java kmeans java keystore java kafka java jxl java jvm java jtextfield java jtable