zoukankan      html  css  js  c++  java
  • [踩过的坑]Elasticsearch.Net 官网示例的坑

      经过昨天的ElasticSearch 安装,服务以及可以启动了,接下来就可以开发了,找到了官网提供的API以及示例,Es 官方提供的.net 客户端有两个版本一个低级版本: 【Elasticsearch.Net.dll】这个dll文件官方解释无依赖关系的客户端,对于您如何构建和表示您的请求和相应没有任何意见;它足够抽象,因此所有的ElasticSearch API端点都表示为方法,不会妨碍你构建json、reque、response 对象方式,它还带有内置的,可配置、可覆盖的集群故障转移、重试机制。

      另一个高级版本: 【Nest.dll】 是一个高级客户端、具有映射所有请求和响应对象的优势,附带强类型查询DSL,并利用特定的.Net功能,如协变结果和POCO的自动映射;Nest内部包含了Elastic.net 版本;

       

    然后两个DLL文件的安装命令如下:

      安装ElasticSearch.net.dll命令:Install-Package Elasticsearch.Net

      安装nest.dll命令:Install-Package NEST

    命令运行之后,vs 会下载最新版本的dall文件,一定要注意版本号,这个就是后面的大坑,自己好不容易爬出来

    然后,就开始代码编写了,怎么写?难道写个“hello,word”?NO,NO,刚接触,没办法,只有去抄了,去哪里抄,当然是官网了,官网示例:https://www.elastic.co/guide/en/elasticsearch/client/net-api/5.x/elasticsearch-net-getting-started.html

    ,在抄的过程中,一定要理解并加以思考,在实际项目里面灵活运用。

    为了操作方便,先弄一个Winfrom 程序,拉一个窗体,再来个按钮,触发个Click事件,然后,在添加引用,把刚刚下载的两个Dll文件添加到项目中;好了,一切准备就绪,开始上菜了!

    代码就不贴了,都是官网示例中的代码;

    然后,程序就还没有运行,就报错了,这心情,我擦,这可是刚起步,这可是完全按照官网示例去写的,竟然报错!!!

     

    错误提示:people 无法转换为 “Elasticsearch.Net.IndexRequestParameters ”

     

    然后就各种途径找解决方案,中午吃饭的时候还在想,这官网真坑,案例都是错的,最后,在浏览官网的时候注意到一个东西,就是菜单选项。.NET API 版本号

     

    心想,会不会跟版本号有关系,反正找不到解决方法,只有试一试了,然后又去看了下,下载的dll文件;

     

    这下,肯定了我的想法,下载的dll版本是6.4.0 的,看的官网示例是5.X 的;

    然后,把官网示例切换到6.X,然后把官网代码照着写了一遍,然后可以可以成功运行了;来看下运行后的数据结果(插入数据的代码示例);

     

    至此,算是入门了,折腾了那么久,一定要写篇博客记录下,以免别人也遇到这种事情;

  • 相关阅读:
    常用的公共 DNS 服务器 IP 地址
    组网参考资料
    华为交换机配置telnet、SSH
    华为三层交换+双链路出口
    ACL流策略
    MacBook苹果电脑绕过BootCamp安装Win7双系统
    nslookup
    熟悉Linux操作系统的命令接口、图形接口和程序接口
    “发现一个错误”——laravel开发
    document.forms用法示例介绍
  • 原文地址:https://www.cnblogs.com/Rawls/p/9952586.html
Copyright © 2011-2022 走看看