当前位置: 首页 > 面试题库 >

Elasticsearch和.NET

蓟雪峰
2023-03-14
问题内容

我们正在考虑从Solr /
Solr.net切换到Elasticsearch。我们从NEST开始。我们的搜索索引中只有4个文档。

private static void Main(string[] args)
{
    var node = new Uri("http://localhost:9200");
    var settings = new ConnectionSettings(
        node, "my-application");

    var client = new ElasticClient(settings);

    var stopwatch = Stopwatch.StartNew();
    var sr = client.Get<Movie>(1);

    Console.WriteLine(stopwatch.ElapsedMilliseconds);
}

上面的代码大约需要
250毫秒,而同样的代码HttpClient,并JsonSerializer采取30-45ms。250毫秒对于4个文档来说是太多时间。

NEST可以在高流量新闻网站上使用,还是您推荐HttpClient+
JsonSerializer组合?搜索页面是2013年我们网站上访问量最大的页面。

提前致谢。


问题答案:

为了使NEST发出第一个请求,必须发生两件事。

  1. 在这种情况下,Json序列化器(Json.net)必须缓存类型,以便它知道如何来回序列化和反序列化要发送的对象。

  2. Nest对于查询必须使用自己的流利语言,必须将其从代表流利查询语言的初始类型进行翻译,并以JSON的形式传递给elasticsearch。这些文档类型也必须由Json Serializer学习。

  3. 必须启动HTTP客户端以发出请求。

目前,我在与NEST一起使用的单个索引中有超过4M个文档,使用NEST从服务器一直到客户端通过Internet进行搜索的过程大约需要50-70毫秒。但是,像您一样,冷启动后,第一个请求很慢。



 类似资料:
  • 我试图使用Spring数据Elasticsearch连接到Elasticsearch 5。 根据链接-https://github.com/spring-projects/spring-data-elasticsearch,spring数据弹性搜索-3.0.0。M4与Elasticsearch 5.4.0兼容 但我在尝试连接Elasticsearch时出现以下错误 请告诉我,如果你们中的任何一个人

  • 问题内容: 有人在Nest中找到或使用过CopyTo属性吗?我可以看到它已被添加为流利的映射的一部分,但似乎找不到它作为属性,这就是我目前执行所有映射的方式。 问题答案: NEST中基于属性的映射不支持。您需要使用流畅的API。见我的评论在这里作出解释。

  • 问题内容: 我正在尝试将ElasticSearch REST API与Jav​​a 库一起使用。我想使用持久流水线连接。这是一些测试代码(输出在注释中): 我不明白,为什么它可以与客户端配合使用,但不能与配合使用。我也无法理解这两种创建方法之间的区别。 使用时为什么会出现错误响应? 我试图通过https://httpbin.org/post看到差异,但是这两个选项都显示了相同的结果。我使用默认的E

  • Elasticsearch 从 5.0 开始,为日志场景的用户提供了一个很不错的接口,叫 rollover。其作用是:当某个别名指向的实际索引过大的时候,自动将别名指向下一个实际索引。 因为这个接口是操作的别名,所以我们依然需要首先自己创建一个开始滚动的起始索引: # curl -XPUT 'http://localhost:9200/logstash-2016.11.25-1' -d '{

  • 我正在尝试将camel与elasticsearch集成。在applicationContext中。xml添加了以下内容 然后当我跑的时候 我得到以下信息 我的elasticsearch在本地运行,我使用ES 1.1.1。 我需要指定什么 谢谢,

  • 我想通过http://IP:80.然而,当我访问页面时,我会发现以下错误: 需要升级您的Elasticsearch版本太旧。Kibana需要Elasticsearch 0.90.9或以上。 和 错误无法到达http://localhost:80/_nodes.如果您正在使用代理,请确保它配置正确 我一直在网上查找这些问题,我已经把这些行包括在内,但没有成功。。。 我的Elasticsearch版本