Elasticsearch NEST使用指南:映射和分析
NEST提供了多种映射方法,这里介绍下通过Attribute自定义映射。
一、简单实现
1、定义业务需要的POCO,并指定需要的Attribute

[ElasticsearchType(Name = "student")]
public class Student
{
[Nest.String(Index = FieldIndexOption.NotAnalyzed)]
public string Id { get; set; } [Nest.String(Analyzer = "standard")]
public string Name { get; set; } [Nest.String(Analyzer = "standard")]
public string Description { get; set; } public DateTime DateTime { get; set; }
}

2、接着我们通过.AutoMap()来实现映射

var descriptor = new CreateIndexDescriptor("db_student")
.Settings(s => s.NumberOfShards(5).NumberOfReplicas(1))
.Mappings(ms => ms
.Map<Student>(m => m.AutoMap())
);
client.CreateIndex(descriptor);

注意:通过.Properties()可以重写通过Attribute定义的映射
二、Attribute介绍
1、StringAttribute
| 属性名 | 值类型 | 描述 |
|---|---|---|
| Analyzer | string | 分析器名称,值包含standard、simple、whitespace、stop、keyward、pattern、language、snowball、custom等,查看分析器更多信息请点击Elasticsearch Analyzers |
| Boost | double | 加权值,值越大得分越高 |
| NullValue | string | 插入文档时,如果数据为NULL时的默认值 |
| Index | FieldIndexOption | 是否使用分析器,默认使用FieldIndexOption.Analyzed,禁止使用分析器FieldIndexOption.NotAnalyzed |
2、NumberAttribute
| 属性名 | 值类型 | 描述 |
|---|---|---|
| type | NumberType | 构造函数参数,指定当前属性的类型,NumberType.Default、Float、Double、Integer、Long、Short、Byte |
| Boost | double | 加权值,值越大得分越高 |
| NullValue | double | 插入文档时,如果数据为NULL时的默认值 |
3、BooleanAttribute
| 属性名 | 值类型 | 描述 |
|---|---|---|
| Boost | double | 加权值,值越大得分越高 |
| NullValue | double | 插入文档时,如果数据为NULL时的默认值 |
4、DateAttribute
| 属性名 | 值类型 | 描述 |
|---|---|---|
| Boost | double | 加权值,值越大得分越高 |
| NullValue | string | 插入文档时,如果数据为NULL时的默认值 |
| Format | string |
5、ObjectAttribute
| 属性名 | 值类型 | 描述 |
|---|---|---|
| type | string/Type | 构造函数参数,指定当前属性的类型T |
| Dynamic | DynamicMapping |
Elasticsearch NEST使用指南:映射和分析的更多相关文章
- ElasticSearch 5学习(9)——映射和分析(string类型废弃)
在ElasticSearch中,存入文档的内容类似于传统数据每个字段一样,都会有一个指定的属性,为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成字符串值,Elasticsearc ...
- ElasticSearch权威指南学习(映射和分析)
概念 映射(mapping)机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(string, number, booleans, date等).+ 分析(analysis)机制用于进行全文 ...
- elasticsearch(6) 映射和分析
类似关系型数据库中每个字段都有对应的数据类型,例如nvarchar.int.date等等,elasticsearch也会将文档中的字段映射成对应的数据类型,这一映射可以使ES自动生成的,也是可以由我们 ...
- Elasticsearch入坑指南之RESTful API
Elasticsearch入坑指南之RESTful API Tags:Elasticsearch ES为开发者提供了非常丰富的基于Http协议的Rest API,通过简单的Rest请求,就可以实现非常 ...
- ElasticSearch入坑指南之概述及安装
---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...
- ElasticSearch NEST笔记
ElasticSearch NEST笔记 1. 什么是ElasticSearch? ElasticSearch is a powerful open source search and analyti ...
- 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载
原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...
- elasticsearch中的mapping映射配置与查询典型案例
elasticsearch中的mapping映射配置与查询典型案例 elasticsearch中的mapping映射配置示例比如要搭建个中文新闻信息的搜索引擎,新闻有"标题".&q ...
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasticsearch是一个近似实时的搜索平台,它让你以前所未有的速度处理大数据成为可能. Elastic ...
随机推荐
- manta api
Authentication 有几个访问方法. 验证对服务的请求的主要方法是使用TLS上的HTTP签名. 在大多数情况下,您只需使用SSH私钥对HTTP Date标头的小写日期:和值进行签名; 这样做 ...
- Java 枚举类型设置数据字典
package org.seckill.enums; /** * 使用枚举表示常量数据字典 * Created by 18401 on 2017/11/25. */ public enum Secki ...
- 802.11bgn信道划分及WirelessMon规划频段
一.802.11bgn模式支持14信道,第14信道一般不使用.对应频率范围如下: Channel Frequency range Central Frequency ----------------- ...
- 创建数据库sql语句
create database JXGL; go create table S( sno char(10)primary key not null, sname nvarchar(10) not nu ...
- java实现最通俗易懂的01背包问题
这几天一直在想背包问题,昨天还有个学长专门讲了,但是还是不是很理解,今天我终于想通了背包问题,其实只要理解了这个思路,不管用什么语言,肯定是能编出来的.下面我就来介绍一下背包问题. 1.题目描述: 有 ...
- Nginx源码完全注释(9)nginx.c: ngx_get_options
本文分析 ngxin.c 中的 ngx_get_options 函数,其影响: nginx.c 中的: static ngx_uint_t ngx_show_help; static ngx_uint ...
- centos 6.5 部署openvpn 2.4
软件下载地址 软件下载地址 https://openvpn.net/index.php/open-source/downloads.html 服务端 源Tarball(gzip) https://sw ...
- 富文本编辑器和fastdfs的使用
宜立方商城的系统架构a) 功能介绍(项目架构,有哪些功能模块,这些功能模块如何实现?)b) 架构讲解工程搭建-后台工程c) 使用maven搭建工程(后台工程如何搭建?)d) 使用maven的tomca ...
- SqlServer——索引
索引是根据表中一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表.在数据库系统中建立索引主要有以下作用: l快速存取数据: l保证数据记录的唯一性: l实现表与表之间的参照完整性: l在使用O ...
- eclipse 环境安装
eclipse 安装SVN http://blog.csdn.net/rilaohn/article/details/70312827 eclipse server 不见了 http://www.jb ...