|  
 search_type=scan removedThe scan search type was deprecated since version 2.1.0 and is now removed. All benefits from this search type can now be achieved by doing a scroll request that sorts documents in _doc order
 Breaking changes in 5.0 ? Search and Query DSL changes 网上流传的老办法不行了。实际上看,sort不用_doc也OK
 代码 using Nest;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
namespace ESScrollReader
{
    class Program
    {
        public static readonly string url = "http://192.168.0.1:9200/";
        static void Main(string[] args)
        {
            ScrollSearch("test_index");
        }
        public static void ScrollSearch(string index)
        {
            var settings = new ConnectionSettings(new Uri(url)).DefaultIndex(index);
            var client = new ElasticClient(settings);
            var searchResponse = client.Search<dynamic>(s => s.Sort(sort => sort.Descending("time")).Size(10000).Scroll("1s"));
            
            while (searchResponse.Documents.Any())
            {
                searchResponse = client.Scroll<dynamic>("1s", searchResponse.ScrollId);
                var d = (Dictionary<string, object>)searchResponse.Documents.First<dynamic>();
                
            }
        }
    }
}
 |