Esempio n. 1
0
        private static BrowseRequest CreateRequest(LuceneQuery query, LuceneFilter filter, IEnumerable <BrowseSelection> selections, SortField[] sorts, int skip, int take, bool includeFacets)
        {
            var request = new BrowseRequest();

            request.setQuery(query);
            request.setFilter(filter);

            if (selections != null)
            {
                foreach (var selection in selections)
                {
                    request.addSelection(selection);
                }
            }

            if (sorts != null)
            {
                request.setSort(sorts);
            }

            request.setOffset(0);
            request.setCount(skip + take);

            if (includeFacets)
            {
                request.setFacetSpec(FieldName.Industries, CreateFacetSpec());
                request.setFacetSpec(FieldName.JobTypes, CreateFacetSpec());
            }

            return(request);
        }
Esempio n. 2
0
        public JobAdSearchResults Search(LuceneQuery query, LuceneFilter filter, IEnumerable <BrowseSelection> selections, SortField[] sorts, int skip, int take, bool includeFacets)
        {
            var request = CreateRequest(query, filter, selections, sorts, skip, take, includeFacets);
            var result  = _browser.browse(request);

            return(GetSearchResults(result, skip, take));
        }
Esempio n. 3
0
 protected LuceneQuery GetBoostingQuery(LuceneQuery query, LuceneQuery contextQuery, float?boost)
 {
     if (contextQuery == null || boost == null)
     {
         return(query);
     }
     return(new BoostingQuery(query, contextQuery, boost.Value));
 }
Esempio n. 4
0
 public RecencyBoostingQuery(LuceneQuery subQuery, string fieldName, TimeGranularity granularity, double alpha, double halfDecay)
     : base(subQuery)
 {
     _fieldName   = fieldName;
     _granularity = granularity;
     _alpha       = alpha;
     _halfDecay   = halfDecay;
 }
Esempio n. 5
0
        private LuceneQuery BoostContentQuery(LuceneQuery contentQuery, MemberSearchQuery query)
        {
            if (contentQuery == null || query.SortOrder != MemberSortOrder.Relevance)
            {
                return(contentQuery);
            }

            // Boost recent job titles.

            var jobTitleQuery = query.Keywords.GetLuceneBoostQuery(query.IncludeSynonyms ? FieldName.JobTitleRecent : FieldName.JobTitleRecent_Exact, _queryAnalyzer);

            return(_booster.GetJobTitleBoostingQuery(contentQuery, jobTitleQuery));
        }
Esempio n. 6
0
 protected LuceneQuery GetRecencyBoostingQuery(LuceneQuery query, string fieldName, TimeGranularity granularity, double?alpha, double?halfDecay)
 {
     return((alpha == null || halfDecay == null)
         ? query
         : new RecencyBoostingQuery(query, fieldName, granularity, alpha.Value, halfDecay.Value));
 }