接上一篇
前提条件--开发环境已安装 (自行百度)
客户端用的是nest
学习elasticSearch主要是要掌握像sqlserver要会操作数据结构的增删改和数据的增删改查,这里主要写elasticSearch的文档结构操作和文档数据操作
一、如果你已经建好了索引,但是需求改变需要新增一个字段,那就改了之后要进行映射,映射主要是确定字段的数据类型
////// 创建mapping /// ///需要创建的mapping类型 /// 索引名 /// 分词器 ///public bool AddMapping (string indexName = null, string analyzer = "ik") where T : class { if (string.IsNullOrWhiteSpace(indexName)) { indexName = IndexName; } //对参数进行判断 if (string.IsNullOrWhiteSpace(indexName)) { OriginalException = new Exception("索引名不允许为空"); return false; } //如果索引名称已经存在,则不插入 if (!IsExists(indexName)) { OriginalException = new Exception("索引不存在"); return false; } var response = Client.Map (m => m.MapFromAttributes().IndexAnalyzer(analyzer).Index(indexName)); return Helper.ConvertIResponse(response, OriginalException); }
二、刷新索引
////// 刷新索引 /// ///public bool Refresh() { var response = Client.Refresh(r => r.Index(IndexName)); return Helper.ConvertIResponse(response, OriginalException); }
三、优化索引
////// 优化索引 /// ///public bool Optimize(long max_num_segments = 1, bool flush = true) { var response = Client.Optimize(o => o .Index(IndexName) .MaxNumSegments(max_num_segments) .Flush(flush) ); return Helper.ConvertIResponse(response, OriginalException); }
四、关闭索引
////// 关闭索引 /// /// 索引名 ///public bool Close() { var response = Client.CloseIndex(IndexName); return Helper.ConvertIResponse(response, OriginalException); }
五、打开索引
////// 打开索引 /// /// 索引名 ///public bool Open() { var response = Client.OpenIndex(IndexName); return Helper.ConvertIResponse(response, OriginalException); }
文档结构的操作基本就是以上操作