Advertisement
Guest User

Untitled

a guest
May 25th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. ISearcher _searchProvider = ExamineManager.Instance.SearchProviderCollection["MySearcher"];
  2. var criteria = _searchProvider.CreateSearchCriteria();
  3.  
  4. string rawQuery = "";
  5.  
  6. // REMOVE 2 length words and other special words
  7. var words = searchString.Split(' ').Where(w => !"com,sem,dos,das,por,nos,nas".Contains(w.Trim())).Where(w => w.Trim().Length > 2);
  8.  
  9. if(!words.Any())
  10. {
  11. return searchResults;
  12. }
  13.  
  14. // BUILD RAW QUERY
  15. string oneFieldRawQuery = "(contentTitle:" + string.Join("~0.8 AND contentTitle:", words.Where(w => w.Trim().Length > 2)) + "~0.8)";
  16.  
  17. rawQuery = oneFieldRawQuery;
  18. rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " contentText:");
  19. rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " contentDescription:");
  20. rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " topIntroTitle:");
  21. rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " topIntroSubTitle:");
  22. rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " topIntroText:");
  23. rawQuery += " OR " + oneFieldRawQuery.Replace("contentTitle:", " topIntrosummary:");
  24.  
  25. var results = _searchProvider.Search(criteria.RawQuery(rawQuery).OrderBy("nodeName").Compile());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement