Create a gist now

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Highlighting With Sitecore and Solr
@using Sitecore.ContentSearch
@using Sitecore.ContentSearch.Linq.Parsing
@using Sitecore.ContentSearch.SearchTypes
@using Sitecore.ContentSearch.SolrProvider.SolrNetIntegration
@using SolrNet
@using SolrNet.Commands.Parameters
@{
const string searchField = "summary_t";
const string searchValue = "traditional";
var queryOptions = new QueryOptions
{
Highlight = new HighlightingParameters
{
Fields = new[] { searchField },
BeforeTerm = "<em>",
AfterTerm = "</em>"
},
ExtraParams = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("hl.method", "unified")
}
};
var index = ContentSearchManager.GetIndex(string.Format("sitecore_{0}_index", Sitecore.Context.Database.Name));
using (var context = index.CreateSearchContext())
{
var results = context.Query<SearchResultWithSummary>(new SolrQueryByField(searchField, searchValue), queryOptions);
foreach (var result in results)
{
var highlights = results.Highlights[result.Fields["_uniqueid"].ToString()];
if (highlights.Any())
{
<ul>
@foreach (var highlight in highlights)
{
<li style="color: #696969">@result.Name</li>
<li>@Html.Raw(string.Join(",", highlight.Value))</li>
}
</ul>
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment