Skip to content

Instantly share code, notes, and snippets.

@NaibafCH
Last active December 20, 2016 15:33
Show Gist options
  • Save NaibafCH/a2b880db22834666a2f73803c00969f2 to your computer and use it in GitHub Desktop.
Save NaibafCH/a2b880db22834666a2f73803c00969f2 to your computer and use it in GitHub Desktop.
public SearchResults<SearchResultItem> Search(ISearchIndex index, string searchQuery)
{
using (var context = index.CreateSearchContext())
{
var dataQuery = context.GetQueryable<SearchResultItem>()
.Where(i => i["non_ngram_field"] == searchQuery);
return dataQuery.GetResults(context, CreateQuery(searchQuery));
}
}
protected Func<Query, Query> CreateQuery(string term)
{
Func<Query, Query> query = luceneQuery =>
{
var queryParser = new QueryParser(Version.LUCENE_30, "smartsearch",
new StandardAnalyzer(Version.LUCENE_30));
var smartSearchQuery = queryParser.Parse(term);
var booleanQuery = new BooleanQuery();
booleanQuery.Add(luceneQuery, Occur.SHOULD);
booleanQuery.Add(smartSearchQuery, Occur.SHOULD);
return booleanQuery;
};
return query;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment