Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ISearcher _searchProvider = ExamineManager.Instance.SearchProviderCollection["MySearcher"];
- var criteria = _searchProvider.CreateSearchCriteria();
- string rawQuery = "";
- // REMOVE 2 length words and other special words
- var words = searchString.Split(' ').Where(w => !"com,sem,dos,das,por,nos,nas".Contains(w.Trim())).Where(w => w.Trim().Length > 2);
- if(!words.Any())
- {
- return searchResults;
- }
- // BUILD RAW QUERY
- string oneFieldRawQuery = "(contentTitle:" + string.Join("~0.8 AND contentTitle:", words.Where(w => w.Trim().Length > 2)) + "~0.8)";
- rawQuery = oneFieldRawQuery;
- rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " contentText:");
- rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " contentDescription:");
- rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " topIntroTitle:");
- rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " topIntroSubTitle:");
- rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " topIntroText:");
- rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " topIntrosummary:");
- var results = _searchProvider.Search(criteria.RawQuery(rawQuery).OrderBy("nodeName").Compile());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement