public void TestLimitFilter()
{
string testForShard = "test_for_shard";
client.CreateIndex(testForShard, new IndexSetting(6, 0));
for (int i = 0; i < 200; i++)
{
Dictionary<string, object> dict = new Dictionary<string, object>();
dict["a"] = i;
client.Index(testForShard, "type", i.ToString(), dict);
}
Thread.Sleep(1000);
var constantScoreQuery = new ConstantScoreQuery(new LimitFilter(1));
var result = client.Search(testForShard, "type" , constantScoreQuery, 0, 25);
Assert.AreEqual(6, result.GetTotalCount());
Assert.AreEqual(6, result.GetHits().Hits.Count);
constantScoreQuery = new ConstantScoreQuery(new LimitFilter(2));
result = client.Search(testForShard, "type" , constantScoreQuery, 0, 25);
Assert.AreEqual(12, result.GetTotalCount());
Assert.AreEqual(12, result.GetHits().Hits.Count);
constantScoreQuery = new ConstantScoreQuery(new LimitFilter(3));
result = client.Search(testForShard, "type" , constantScoreQuery, 0, 25);
Assert.AreEqual(18, result.GetTotalCount());
Assert.AreEqual(18, result.GetHits().Hits.Count);
client.DeleteIndex(testForShard);
}