es-mapping-parameters-1

本文介绍了Elasticsearch的mapping参数,包括analyzer文本分析器的详细解释,如何设置字段的boost权重,以及soerce、copy_to和doc_values的功能。analyzer由字符过滤器、分词器和分词过滤器组成,用于文本分析和结构化数据检索。同时,文章还探讨了doc_values在排序和聚合中的作用,并与fielddata进行了对比。
摘要由CSDN通过智能技术生成

mapping parameters 参数

1.analyzer 文本分析器

analyzer来实现文本分析,从而实现将非结构化文本(例如文章正文、邮件内容等)转换为结构化数据,便于检索。默认 “standard” 分词器分析输入文本。
Analyzer包含3个部分:
(1).Character filters,字符过滤器,接收原始文本,添加、删除或者改变原始文本的字符。例如HTML标签过滤等。1个Analyzer中可以有0个或者多个字符过滤器。
(2).Tokenizer, 分词器,接收经过字符过滤器后的字符流,对其进行分词。1个Analyzer中只能有1个Tokenizer。
(3).Token filters, 分词过滤器,接收经过分词器后的分词列表,添加、删除或者更改分词。例如大小写转换、同义词添加等。1个Analyzer中可以有0个或者多个分词过滤器。

官方地址:

https://www.elastic.co/guide/en/elasticsearch/reference/7.13/analyzer.html

ES内置了很多Analyzer,具体看官网:
https://www.elastic.co/guide/en/elasticsearch/reference/7.13/analysis-analyzers.html

Character filters reference:
https://www.elastic.co/guide/en/elasticsearch/reference/7.13/analysis-charfilters.html

Tokenizer reference:
https://www.elastic.co/guide/en/elasticsearch/reference/7.13/analysis-tokenizers.html

Token filters reference:
https://www.elastic.co/guide/en/elasticsearch/reference/7.13/analysis-tokenfilters.html#analysis-tokenfilters

例子:

DELETE my-index-000001

#自定义Analyzer
PUT my-index-000001
{
   
   "settings":{
   
      "analysis":{
   
         "analyzer":{
   
            "my_analyzer":{
    
               "type":"custom",
               "tokenizer":"standard",
               "filter":[
                  "lowercase"
               ]
            },
            "my_stop_analyzer":{
    
               "type":"custom",
               "tokenizer":"standard",
               "filter":[
                  "lowercase",
                  "english_stop"
               ]
            }
         },
         "filter":{
   
            "english_stop":{
   
               "type":"stop",
               "stopwords":"_english_"
            }
         }
      }
   },
   "mappings":{
   
       "properties":{
   
          "title": {
   
             "type":"text",
             "analyzer":"my_analyzer", 
             "search_analyzer":"my_stop_analyzer", 
             "search_quote_analyzer":"my_analyzer" 
         }
      }
   }
}

#查看mapping的properties生效情况
GET my-index-000001/_mapping

#增加两条doc验证
PUT my-index-000001/_doc/1
{
   
   "title":"The Quick Brown Fox"
}

PUT my-index-000001/_doc/2
{
   
   "title":"A Quick Brown Fox"
}

#查询短语"the quick brown fox"
#查询出现一条数据,The Quick Brown Fox
GET my-index-000001/_search
{
   
   "query":{
   
      "query_string":{
   
         "query":"\"the quick brown fox\"" 
      }
   }
}

2.boost比分权重设置

字段级别的分数加权
官网地址
https://www.elastic.co/guide/en/elasticsearch/reference/7.13/mapping-boost.html

例子


DELETE my-index-000001
##title字段级别的分数加权
PUT my-index-000001
{
   
  "mappings": {
   
    "properties": {
   
      "title":{
   
        "type": "text"
        , "boost": 2
      },
      "content":{
   
        "type
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值