Если вы выполняете LuceneQuery, вы получаете возвращенный DocumentQuery со свойством QueryResult, которое содержит TotalResults, поэтому вы можете получить к нему доступ следующим образом:
var documentQuery = (from mdl in query dbSession.LuceneQuery<MyModel>("MyIndex")
orderby mdl.Name
select dept).Skip(page.Value).Take(4);
var totalResults = documentQuery.QueryResult.TotalResults;
Если вместо этого вы выполняете запрос LINQ, вы можете вызвать Count () для запроса, прежде чем ограничить его с помощью Skip and Take:
var linqQuery = (from mdl in query dbSession.Query<MyModel>("MyIndex")
orderby mdl.Name
select dept);
var totalResults = linqQuery.Count();
var pageOfResults = linqQuery.Skip(page.Value).Take(4);