加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Elasticsearch和.NET

发布时间:2020-12-15 08:45:03 所属栏目:百科 来源:网络整理
导读:我们正在考虑从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"); va
我们正在考虑从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);
}

上面的代码大约需要. 250ms,而与HttpClient和JsonSerializer相同的代码需要30-45ms.只有4个文件,250毫秒是太多的时间.

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

提前致谢.

解决方法

为了让NEST做出第一个请求,必须要做两件事.

>在这种情况下,Json Serializer(Json.net)必须缓存该类型,以便它知道如何序列化和反序列化您来回发送的对象.
> Nest为查询提供了自己流利的语言,这些查询必须从表示流畅查询语言的初始类型转换为弹性搜索的JSON.这些文档类型也必须由Json Serializer学习.
>必须启动HTTP客户端才能发出请求.

我目前在单个索引中有超过4M的文档,我使用NEST,我通过互联网从服务器到客户端的搜索使用NEST需要50-70毫秒.然而,像你一样,冷启动后第一个请求很慢.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读