1

https://addons.heroku.com/#searchには、非常に優れた検索プラグインがいくつかリストされています。私はMVCプロジェクトのためにこのようなものを探しています。私はそれをしたい:

  1. 実装はかなり簡単
  2. 正確(良い結果)
  3. 素晴らしいAPI
  4. タイトルで検索するだけで全文検索を行う必要はありません(S / Oの質問のように)

また、信じられないほど正確に見えるので、Google検索APIを使用する必要があるのではないかと思います。検索システムスタックoverflow.comが何を使用しているのか知りたいですか?

ありがとう

4

1 に答える 1

2

あなたは MVC ソリューションを求めています。私が提供します。

インターフェイス ISearchable を実装する

interface ISearchable{
    SearchResult Search(string query);
}

クラス SearchResult を実装する

public class SearchResult{
    SearchResult(string title, string url, string description, int rank){
        this.Title = title;
        this.Url = url;
        this.Description = description;
        this.Rank = rank;
    }
    public string Title { get; set; }
    public string Url { get; set; }
    public string Description { get; set; }
    public int Rank { get; set; }
}

ViewModel に ISearchable インターフェイスを実装させます。

public class MyViewModel : ISearchable{
    public List<Article> Articles { get; set; }

    #region ISearchable
    public SearchResult Search(string query){
        string title = "";
        string url = "";
        string description = "";
        int rank = 0;
        // Custom logic to search for an article
        ...
        return new SearchResult(title, url, description, rank);
    }
    #endregion
}

ISearchableViewModel を に登録します。Application_Startたとえば、 を使用しUnityます。

SearchControllerアクションクエリを実装して持っています。

public ActionResult Query(SearchQueryModel model){
   model.Search();
   return View(model);
}

で、インターフェイスmodel.Search()を実装する登録済みの ViewModel を検索し、ISearchable最適な Whatsever Search API を使用します。または、API を使用しないでください。

現実には、どのような検索もすぐには役に立ちますが、役に立たなくなったときは、実装を壊さずに切り替えることができます。

「最高の ASP.NET MVC 検索ソリューション」を求められたことは承知しています。ソリューションの内部の仕組みや予算などがわからないため、特定の製品を選択することはできません.

ただし、厳密には ASP.NET MVC の観点からは、上記のシナリオにプラグインできるものは適切なはずです。それがあなたの法案に適合するかどうかなど...

于 2013-01-11T08:05:00.410 に答える