Aqueduct.SitecoreLib.Search.Utilities.QueryTranslator.ConvertCombinedQuery C# (CSharp) 메소드

ConvertCombinedQuery() 공개 메소드

public ConvertCombinedQuery ( CombinedQuery query ) : Lucene.Net.Search.BooleanQuery
query CombinedQuery
리턴 Lucene.Net.Search.BooleanQuery
      public virtual BooleanQuery ConvertCombinedQuery(CombinedQuery query)
      {
         var booleanQuery = new BooleanQuery();
         foreach (var clause in query.Clauses)
         {
            var translatedQuery = Translate(clause.Query);
            if (translatedQuery != null)
            {
               booleanQuery.Add(translatedQuery, GetOccur(clause.Occurance));
            }
         }
         return booleanQuery;
      }

Usage Example

예제 #1
0
      public virtual List<SkinnyItem> GetItemsInRange(DateRangeSearchParam param)
      {
         var globalQuery = new CombinedQuery();

         ApplyLanguageClause(globalQuery, param.Language);
         ApplyTemplateFilter(globalQuery, param.TemplateIds);
         ApplyLocationFilter(globalQuery, param.LocationIds);
         ApplyFullTextClause(globalQuery, param.FullTextQuery);

         var translator = new QueryTranslator(Index);
         var booleanQuery = translator.ConvertCombinedQuery(globalQuery);
         var innerOccurance = translator.GetOccur(param.Occurance);

         ApplyDateRangeSearchParam(booleanQuery, param, innerOccurance);

         return RunQuery(booleanQuery, param.ShowAllVersions);
      }