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 ...
随机推荐
- java算法 第七届 蓝桥杯B组(题+答案) 9.取球博弈
9.取球博弈 (程序设计) 两个人玩取球的游戏.一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目.如果无法继续取球,则游戏结束.此时,持有奇数个球的一方获胜.如果两人都是 ...
- Unity内存优化
[Unity内存优化] 1.在Update方法或循环中,少用string类,因为string类的每次操作都会调用new生成新字符串对象.用StringBuilder代替string,StringBui ...
- Mysql 使用触发器,把插入的数据在插入到宁一张表里
CREATE TRIGGER tgr_tablea_insert AFTER //触发器名字 动作在插入数据之后 ON alertinfo //监听哪个表之后触发 FOR INSERT //监听的表的 ...
- java常用正则校验工具类
正则常用校验工具类 import java.util.regex.Pattern; /** * @program: * @description: 校验工具类 * @author: xujingyan ...
- iOS导航栏自由缩放头像效果
效果图: 上代码: 先给一个self.navigationItem.titleView ,然后再放个ImangeView添加到titleView上: UIView *titleView = [[UIV ...
- 169. Majority Element 出现次数超过n/2的元素
[抄题]: Given an array of size n, find the majority element. The majority element is the element that ...
- jQuery中deferred对象的使用(二)
接上一回的内容,漏了一个always()方法,参数也是回调函数,与done和fail不同的是,无论任何情况都执行always方法中的回调. deferred对象的使用(二) deferred对象不光可 ...
- ECS 游戏架构 实现
转载自:http://blog.csdn.net/i_dovelemon/article/details/27230719 实现 组件-实体-系统 - 博客频道 这篇文章是在我前面文章,理解组件- ...
- 使用PPT演讲时,两个屏幕显示的内容不一样
使用PPT演讲时,两个屏幕显示的内容不一样 摘自:http://blog.sina.com.cn/s/blog_75f3150b01018f3l.html 参考1:https://jingyan.ba ...
- JVM致命错误日志(hs_err_pid.log)解读
JVM致命错误日志(hs_err_pid.log)解读 摘自:https://blog.csdn.net/u013938484/article/details/51811400 2016年07月02日 ...