/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Everest.Search{
public interface ISearcher
{
/// <summary>
/// Searches the specified key.
/// default search all the field in the class T;
/// if have configuration ,priority to use the query configuration.
/// </summary>
/// <param name="key">The key.</param>
/// <param name="start">The start.</param>
/// <param name="limit">The limit.</param>
/// <param name="totalCount">The total count.</param>
/// <returns></returns>
IEnumerable<T> Search<T>(string key, int start, int limit, out int totalCount)
where T : class, new();
/// <summary>
/// Searches the specified key.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key">The key.</param>
/// <param name="start">The start.</param>
/// <param name="limit">The limit.</param>
/// <param name="totalCount">The total count.</param>
/// <param name="searchFields">The search fields.</param>
/// <returns></returns>
IEnumerable<T> Search<T>(string key, int start, int limit, out int totalCount, params SearchOption[] searchOptions);
}
}
|