c# – Elasticsearch和.NET

前端之家收集整理的这篇文章主要介绍了c# – Elasticsearch和.NET前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在考虑从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毫秒.然而,像你一样,冷启动后第一个请求很慢.

猜你在找的C#相关文章