`

elasticsearch基本概念

 
阅读更多

使用的是elasticsearch 6.2.2 

 

mapping.json

 

 

 

{
  "mappings": {
    "prod_resource": {
      "properties": {
        "id": {
          "type": "text",
          "fielddata": true
        },
        "name_en": {
          "type": "text",
          "analyzer": "standard"
        },
        "name_cn": {
          "type": "text"
        },
        "address_area": {
          "type": "text",
          "analyzer": "pinyin_analyzer",
          "fields": {
            "content": {
              "type": "keyword",
              "store": false
            }
          }
        },
        "state_name": {
          "type": "text",
          "fields": {
            "content":{
              "type": "keyword",
              "store": false
            }
          }
        },
        "province_name": {
          "type": "text",
          "fields": {
            "content":{
              "type": "keyword",
              "store": false
            }
          }
        },
        "city_name": {
          "type": "text",
          "fields": {
            "content":{
              "type": "keyword",
              "store": false
            }
          }
        },
        "county_name": {
          "type": "text",
          "fields": {
            "content":{
              "type": "keyword",
              "store": false
            }
          }
        },
        "address_cn": {
          "type": "text"
        },
        "detail_content": {
          "type": "text"
        },
        "address_en": {
          "type": "text",
          "analyzer": "standard"
        },
        "create_date": {
          "type": "date",
          "format": "yyy-MM-dd HH:mm:ss"
        },
        "create_by": {
          "type": "keyword",
          "store": false
        }
      }
    }
  },
  "settings": {
    "refresh_interval": "5s",
    "number_of_shards" : 2,
    "index": {
      "analysis": {
        "analyzer": {
          "default": {
            "char_filter" : ["tsconvert"],
            "tokenizer": "ik_max_word",
            "filter": ["pinyin_first_letter_and_full_pinyin_filter"]
          },
          "default_search": {
            "char_filter" : ["tsconvert"],
            "tokenizer": "ik_max_word",
            "filter": ["pinyin_first_letter_and_full_pinyin_filter"]
          },
          "pinyin_analyzer": {
            "char_filter" : ["tsconvert"],
            "tokenizer": "ik_max_word",
            "filter": ["pinyin_first_letter_and_full_pinyin_filter"]
          },
          "han_analyzer": {
            "char_filter" : ["tsconvert"],
            "tokenizer": "ik_max_word"
          }
        },
        "tokenizer": {
          "my_pinyin": {
            "type" : "pinyin",
            "keep_separate_first_letter" : true,
            "keep_full_pinyin" : true,
            "keep_original" : true,
            "limit_first_letter_length" : 16,
            "lowercase" : true,
            "remove_duplicated_term" : true
          },
          "tsconvert": {
            "type": "stconvert",
            "delimiter": "#",
            "keep_both": false,
            "convert_type": "t2s"
          }
        },
        "char_filter": {
          "tsconvert": {
            "type": "stconvert",
            "convert_type": "t2s"
          }
        },
        "filter": {
          "edge_ngram_filter": {
            "type": "edge_ngram",
            "min_gram": 1,
            "max_gram": 50
          },
          "pinyin_first_letter_and_full_pinyin_filter" : {
            "type" : "pinyin",
            "keep_separate_first_letter" : false,
            "keep_full_pinyin" : true,
            "keep_original" : true,
            "limit_first_letter_length" : 16,
            "lowercase" : true,
            "remove_duplicated_term" : true
          }
        }
      }
    }
  }
}

 

 

分词器名字default 代表处理收录数据默认使用的分词器,主要是替代系统默认。

分词器名字default_search,代表搜索文本默认使用的分词器,主要是替代系统

 

数据录入顺序

input------->CharacterFilters------------>tokenizer----------->tokenFilters-------->output

字符过滤器(Character filters) 比如繁体转简体,html格式转纯文本

分词器 (Tokenization)  对文本分词

标记过滤器(Token filters)   对分词后的关键字再处理,比如过滤停用词,提取关键字(中文词组)的拼音

 

搜索方式

主要是两种query和filter。前者会对搜索关键字分词处理,然后再去文档中匹配,其中还会计算相似度,相关度等;后者只对搜索关键字做匹配,不对输入的搜索关键字做任何处理,并对搜索关键字设计了缓存。

 

term是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词,所以我们的搜索词必须是文档分词集合中的一个。比如说我们要找标题为北京奥运的所有文档

match查询会先对搜索词进行分词,分词完毕后再逐个对分词结果进行匹配,

 

match_phrase

搜索方式和match类似,先对搜索词建立索引,并要求所有分词必须在文档中出现(像不像operator为and的match查询),除此之外,还必须满足分词在文档中出现的顺序和搜索词中一致且各搜索词之间必须紧邻,因此match_phrase也可以叫做紧邻搜索。

slop参数。该参数可以指定相隔多少个词仍被算作匹配成功。  

 

完全匹配的文档占的评分比较高,则需要使用best_fields

越多字段匹配的文档评分越高,就要使用most_fields

 

 

 

 

分享到:
评论

相关推荐

    Elasticsearch 开发手册

    Elasticsearch 基本概念: * 倒排索引:Elasticsearch 为什么快,核心设计理念就是采用了倒排索引机制。倒排索引的方式是,根据 content 分词后创建索引,索引后的存储方式为:index→docId→长→1,2→沙→1,2→汽...

    ElasticSearch 基础教程,包括基本概念安装和配置的详细信息

    ### ElasticSearch 基础教程知识点详解 ...以上内容涵盖了 ElasticSearch 的基本概念、安装配置流程、常用操作及高级功能介绍。通过深入学习这些知识点,您可以更好地利用 ElasticSearch 解决实际工作中遇到的问题。

    Elasticsearch学习资料整理

    学习Elasticsearch不仅需要掌握其基本概念和用法,还需要了解如何与现有系统集成,以及安全和权限的管理。通过阅读博客、教程和官方文档,可以逐步深入理解并熟练运用Elasticsearch。同时,持续关注社区更新和版本...

    elasticsearch

    这个“elasticsearch”主题涵盖了关于Elasticsearch的基本概念、核心功能以及elasticsearch-head的安装过程。以下是对这些知识点的详细阐述: 一、Elasticsearch基本概念 1. 分布式:Elasticsearch是基于Lucene构建...

    Elasticsearch技术点分享.ppt

    Elasticsearch基本概念、内部底层原理、应用场景的介绍

    Elasticsearch入门(五):Elasticsearch基础概念与基本操作 文章中所用用到的 http 文件

    在Elasticsearch的世界里,理解基础概念和掌握基本操作是入门的关键。本篇文章将深入探讨这些知识点,并结合提供的`es.http`和`es_book.http`文件进行阐述。 首先,我们要了解Elasticsearch的核心概念: 1. **节点...

    elasticsearch-7.1.1-linux

    1. **Elasticsearch基本概念**: - **节点(Node)**:Elasticsearch是以节点的形式运行,每个节点存储和处理一部分数据。 - **索引(Index)**:类似于数据库中的表,用于存储相同类型的数据。 - **文档(Document)**...

    elasticsearch-1.7.1

    总的来说,Elasticsearch 1.7.1是了解Elasticsearch基本概念和操作的好起点,尽管它可能缺乏一些现代特性,但它仍然揭示了Elasticsearch作为一个强大搜索和分析引擎的基础架构。对于初次接触或者学习Elasticsearch的...

    Elastic Search搭建使用教程.pdf(内含ElasticSearch教程权威指南)

    Elasticsearch的基本概念包括Node、Cluster、Index和Document。Node是Elasticsearch中的单个实例,可以单独运行,也可以在集群中作为数据节点或协调节点。Cluster是由多个Node组成的,每个Cluster都有一个唯一的集群...

    elasticsearch7.14.0.zip

    1. **Elasticsearch核心概念**:Elasticsearch是一个基于Lucene构建的分布式、RESTful风格的搜索和分析引擎。其主要概念包括索引(Index)、类型(Type)、文档(Document)和节点(Node)。索引用于存储数据,类型...

    数据接入ElasticSearch方式培训PPT

    1. **Elasticsearch基本概念**:首先,了解Elasticsearch的基本结构,包括节点(Node)、集群(Cluster)、索引(Index)、文档(Document)和类型(Type)等概念。理解这些概念对于后续的数据接入至关重要。 2. **数据源**:...

    人工智能-项目实践-信息检索-基于springboot-es的博客检索系统

    内容涵盖 ES安装、ES基本概念和数据类型、Mysql 到 ES 数据同步、SpringBoot 操作 ES。可初步认识ES,理解ES的一些适用场景,以及如何使用springboot来同ES进行交互 1、ElasticSearch概念和适用场景 2、Elastic...

    elasticsearch服务器安装包

    在安装Elasticsearch之前,我们需要了解一些基本概念和步骤: 1. **Java运行环境**:Elasticsearch是用Java编写的,因此,安装前必须确保系统上已安装了JDK,并且版本至少为8。可以通过`java -version`命令检查Java...

    阿里云 专有云企业版 V3.5.2 Elasticsearch 用户指南 - 20180831.pdf

    4. Elasticsearch基本概念:用户需要了解Elasticsearch的基本概念和架构。 5. 准备工作:用户需要了解Elasticsearch的准备工作和环境配置。 6. 索引管理:用户需要了解Elasticsearch的索引管理和维护。 7. 数据处理...

    ElasticSearch官方测试数据

    Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene库构建,被广泛用于大数据分析、日志聚合、实时搜索和索引等场景。官方提供的测试数据集是检验Elasticsearch功能、性能和稳定性的关键资源,可以帮助...

    Elasticsearch入门篇(一、基本概念)1

    Elasticsearch入门篇(一、基本概念) Elasticsearch是一个近实时的搜索平台,它意味着从索引文档的时间到可搜索的时间之间存在轻微的延迟(通常为一秒)。在Elasticsearch中,集群(cluster)是由一个或多个节点...

    ElasticSearch实战教程

    "ElasticSearch实战教程" ElasticSearch是一款分布式、RESTful 风格的搜索和数据分析引擎,能够达到近实时搜索,稳定,可靠,快速...本教程旨在帮助您快速入门ElasticSearch,掌握ElasticSearch的基本概念和实战应用。

    分布式搜索引擎Elasticsearch开发实战基础篇 (ElasticSearch、ELK、搜索引擎、Lucene).rar

    分享一套完整版视频课程——分布式搜索...Elasticsearch概念 Elasticsearch安装和插件介绍 Elasticsearch基本使用和简单查询 Elasticsearch的Java客户端使用 Elasticsearch索引和Mapping Elasticsearch搜索深入 Elastic

Global site tag (gtag.js) - Google Analytics