mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Utilizing the IIndexManager in the SearchService instead of directly hitting the provider (since there might not be one)
--HG-- branch : dev
This commit is contained in:
@@ -6,17 +6,17 @@ namespace Orchard.Search.Services
|
||||
{
|
||||
public class SearchService : ISearchService
|
||||
{
|
||||
private readonly IIndexProvider _indexProvider;
|
||||
private readonly IIndexManager _indexManager;
|
||||
|
||||
public SearchService(IIndexProvider indexProvider) {
|
||||
_indexProvider = indexProvider;
|
||||
public SearchService(IIndexManager indexManager) {
|
||||
_indexManager = indexManager;
|
||||
}
|
||||
|
||||
public IEnumerable<ISearchHit> Query(string term) {
|
||||
if (string.IsNullOrWhiteSpace(term))
|
||||
if (string.IsNullOrWhiteSpace(term) || !_indexManager.HasIndexProvider())
|
||||
return Enumerable.Empty<ISearchHit>();
|
||||
|
||||
return _indexProvider.CreateSearchBuilder("search")
|
||||
return _indexManager.GetSearchIndexProvider().CreateSearchBuilder("search")
|
||||
.WithField("title", term)
|
||||
.WithField("body", term)
|
||||
.Search();
|
||||
|
@@ -9,7 +9,10 @@ using(Html.BeginForm("index", "search", FormMethod.Get, new { @class = "search"
|
||||
</fieldset><%
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Model.Term)) { %>
|
||||
<p class="search-summary"><%=T("<em>{0}</em> results", Model.Results.Count()) %></p><%
|
||||
}
|
||||
|
||||
if (Model.Results.Count() > 0) { %>
|
||||
<p class="search-summary"><%=T("<em>{0}</em> results", Model.Results.Count()) %></p>
|
||||
<%=Html.UnorderedList(Model.Results, (r, i) => Html.DisplayForItem(r.Content).ToHtmlString(), "search-results contentItems") %><%
|
||||
} %>
|
Reference in New Issue
Block a user