code_junkie

Need Lucene query optimization advice

Nov 13th, 2011
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. foreach (string city in nearestCities.Keys)
  2.  
  3. {
  4.  
  5. BooleanQuery tempFinalQuery = finalQuery;
  6.  
  7. cityStateQuery = new BooleanQuery();
  8.  
  9. queryCity = queryParserCity.Parse(city);
  10.  
  11. queryState = queryParserState.Parse(((string[])nearestCities[city])[1]);
  12.  
  13. cityStateQuery.Add(queryCity, BooleanClause.Occur.MUST); //must is like an AND
  14.  
  15. cityStateQuery.Add(queryState, BooleanClause.Occur.MUST);
  16.  
  17. }
  18.  
  19.  
  20. nearestCityQuery.Add(cityStateQuery, BooleanClause.Occur.SHOULD); //should is like an OR
  21.  
  22.  
  23.  
  24. finalQuery.Add(nearestCityQuery, BooleanClause.Occur.MUST);
  25.  
  26. searcher.Search(finalQuery, collector);
  27.  
  28. doc.Add(new Field("jobId", job.JobID.ToString().Trim(), Field.Store.YES, Field.Index.UN_TOKENIZED));
  29.  
  30. doc.Add(new Field("title", job.JobTitle.Trim(), Field.Store.YES, Field.Index.TOKENIZED));
  31.  
  32. doc.Add(new Field("description", job.JobDescription.Trim(), Field.Store.NO, Field.Index.TOKENIZED));
  33.  
  34. doc.Add(new Field("city", job.City.Trim(), Field.Store.YES, Field.Index.TOKENIZED , Field.TermVector.YES));
  35.  
  36. doc.Add(new Field("state", job.StateCode.Trim(), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.YES));
  37.  
  38. doc.Add(new Field("citystate", job.City.Trim() + ", " + job.StateCode.Trim(), Field.Store.YES, Field.Index.UN_TOKENIZED , Field.TermVector.YES));
  39.  
  40. doc.Add(new Field("datePosted", jobPostedDateTime, Field.Store.YES, Field.Index.UN_TOKENIZED));
  41.  
  42. doc.Add(new Field("company", job.HiringCoName.Trim(), Field.Store.YES, Field.Index.TOKENIZED));
  43.  
  44. doc.Add(new Field("jobType", job.JobTypeID.ToString(), Field.Store.NO, Field.Index.UN_TOKENIZED,Field.TermVector.YES));
  45.  
  46. doc.Add(new Field("sector", job.SectorID.ToString(), Field.Store.NO, Field.Index.UN_TOKENIZED, Field.TermVector.YES));
  47.  
  48. doc.Add(new Field("showAllJobs", "yy", Field.Store.NO, Field.Index.UN_TOKENIZED));
Add Comment
Please, Sign In to add comment