• Nest客户端的基本使用方法


    通过Nuget安装好Nest的相关Dll,之后我们就可以开始了,

    1.初始化Nest客户端

    string indexName = "customer";
    Uri uri = new Uri("http://localhost:9200");
    ConnectionSettings settings = new ConnectionSettings(uri);
    settings.DisableDirectStreaming().DefaultIndex(indexName);
    ElasticClient client = new ElasticClient(settings);
    

     2.创建一个Customer索引

        dynamic response = client.GetIndex(indexName);
         if(!response.IsValid)
          {
             response = client.CreateIndex("customer");
             Console.WriteLine(response);
           }
    

     3.创建文档

       var company = new Company { CompanyID=2, Name="IBM" };
                    //创建文档并指定索引,和文档ID
                    response = client.Index(company, i => i.Index(indexName).Id(company.CompanyID));
                    //创建文档并指定索引,文档类型,未指定文档ID,ElasticSearch会帮你生成一个随机的ID
                    response = client.Index(company, i => i.Index(indexName));
                    //这里没有显示指定索引,所以使用的客户端初始化默认索引,如果没有默认索引,就会发生错误
                    response = client.Index(company);
    

     4.修改文档1

    根据CompanyID来修改文档,如果存储里存在一个CompanyID等于2的文档,他就会用新的替换旧的,否则就创建一个。

    所以叫创建式修改比较合适

     company = new Company { CompanyID = 2, Name = "联想" };
      //修改文档
      response = client.Index(company, i => i.Id(company.CompanyID));
    

     5.修改指定版本号的文档(对乐观锁的实现)

      company = new Company { CompanyID = 2, Name = "联想" };
                    //修改指定版本的文档
                    response = client.Index(company, i => i.Id(company.CompanyID).Version(1));
    

    6.删除文档

    //根据特定的条件来删除文档
      response = client.Delete<Company>(company.CompanyID, d => d.Index(indexName));
     //删除文档
     response = client.Delete<Company>(company.CompanyID);
    

    7.删除索引

        //根据名称删除索引
      response=client.DeleteIndex(indexName);
    

     8.批量创建文档

    这里是指定了相应的索引,如果没有显示指定索引,都是用的默认索引,

    //批量创建文档
    BulkDescriptor descriptor = new BulkDescriptor();
    descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 1, Name = "IBM" }).Index("a"));
    descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 2, Name = "IBM" }).Index("b"));
    descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 3, Name = "IBM" }).Index("c"));
    
    response = client.Bulk(descriptor);
    
  • 相关阅读:
    Eclipse 软件 Java 解决:出现的editor does not contain a main type错误框 问题
    Oracle SQL高级编程——分析函数(窗口函数)全面讲解
    瑞联科技:Pwp3框架 调用存储过程返还数据集合 到前端界面展示
    spring jdbctemplate调用存储过程,返回list对象
    利用jquery操作Radio方法小结
    Oracle临时表
    JdbcUtil
    整理oracle 树形查询
    Js:消息弹出框、获取时间区间、时间格式、easyui datebox 自定义校验、表单数据转化json、控制两个日期不能只填一个
    Java对象之间的深度复制拷贝
  • 原文地址:https://www.cnblogs.com/LittleFeiHu/p/6681155.html
Copyright © 2020-2023  润新知