Ejemplo n.º 1
0
 /// <summary>
 /// Create {@code RangeFacetCounts} </summary>
 protected internal RangeFacetCounts(string field, Range[] ranges, Filter fastMatchFilter)
 {
     this.Field = field;
     this.Ranges = ranges;
     this.FastMatchFilter = fastMatchFilter;
     Counts = new int[ranges.Length];
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 搜索并返回分页数据
 /// </summary>
 /// <param name="indexPath">索引路径</param>
 /// <param name="searchQuery"><see cref="Lucene.Net.Search.Query"/></param>
 /// <param name="filter"><see cref="Lucene.Net.Search.Filter"/></param>
 /// <param name="sort"><see cref="Lucene.Net.Search.Sort"/></param>
 /// <param name="pageIndex">当前页码</param>
 /// <param name="pageSize">每页记录数</param>
 /// <returns>内容为<see cref="Lucene.Net.Documents.Document"/>的分页数据集合</returns>
 public Tunynet.PagingDataSet <Lucene.Net.Documents.Document> Search(string indexPath, Lucene.Net.Search.Query searchQuery, Lucene.Net.Search.Filter filter, Lucene.Net.Search.Sort sort, int pageIndex, int pageSize)
 {
     return(GetSearchEngine(indexPath).Search(searchQuery, filter, sort, pageIndex, pageSize));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Returns a new <see cref="Filter"/> accepting only documents
 /// in this range.  This filter is not general-purpose;
 /// you should either use it with <see cref="DrillSideways"/> by
 /// adding it to <see cref="DrillDownQuery.Add"/>, or pass it to
 /// <see cref="Search.FilteredQuery"/> using its
 /// <see cref="Search.FilteredQuery.QUERY_FIRST_FILTER_STRATEGY"/>.
 /// If the <see cref="ValueSource"/> is static, e.g. an indexed numeric
 /// field, then it may be more efficient to use
 /// <see cref="Search.NumericRangeFilter"/>.  The provided <paramref name="fastMatchFilter"/>,
 /// if non-null, will first be consulted, and only if
 /// that is set for each document will the range then be
 /// checked.
 /// </summary>
 public abstract Filter GetFilter(Filter fastMatchFilter, ValueSource valueSource);
Ejemplo n.º 4
0
 /// <summary>
 /// 搜索并返回前topNumber条数据
 /// </summary>
 /// <param name="indexPath">索引路径</param>
 /// <param name="searchQuery"><see cref="Lucene.Net.Search.Query"/></param>
 /// <param name="filter"><see cref="Lucene.Net.Search.Filter"/></param>
 /// <param name="sort"><see cref="Lucene.Net.Search.Sort"/></param>
 /// <param name="topNumber">最多返回多少条数据</param>
 /// <returns></returns>
 public IEnumerable <Lucene.Net.Documents.Document> Search(string indexPath, Lucene.Net.Search.Query searchQuery, Lucene.Net.Search.Filter filter, Lucene.Net.Search.Sort sort, int topNumber)
 {
     return(GetSearchEngine(indexPath).Search(searchQuery, filter, sort, topNumber));
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Returns a new <see cref="Filter"/> accepting only documents
 /// in this range.  This filter is not general-purpose;
 /// you should either use it with <see cref="DrillSideways"/> by
 /// adding it to <see cref="DrillDownQuery.Add"/>, or pass it to
 /// <see cref="Search.FilteredQuery"/> using its 
 /// <see cref="Search.FilteredQuery.QUERY_FIRST_FILTER_STRATEGY"/>.
 /// If the <see cref="ValueSource"/> is static, e.g. an indexed numeric
 /// field, then it may be more efficient to use 
 /// <see cref="Search.NumericRangeFilter"/>.  The provided <paramref name="fastMatchFilter"/>,
 /// if non-null, will first be consulted, and only if
 /// that is set for each document will the range then be
 /// checked. 
 /// </summary>
 public abstract Filter GetFilter(Filter fastMatchFilter, ValueSource valueSource);
Ejemplo n.º 6
0
 /// <summary>
 /// Create {@code RangeFacetCounts}, using the provided
 ///  <seealso cref="ValueSource"/>, and using the provided Filter as
 ///  a fastmatch: only documents passing the filter are
 ///  checked for the matching ranges.  The filter must be
 ///  random access (implement <seealso cref="DocIdSet#bits"/>). 
 /// </summary>
 public DoubleRangeFacetCounts(string field, ValueSource valueSource, FacetsCollector hits, Filter fastMatchFilter, DoubleRange[] ranges)
     : base(field, ranges, fastMatchFilter)
 {
     Count(valueSource, hits.GetMatchingDocs);
 }
 public void AddCachedFilter(FilterKey key, Lucene.Net.Search.Filter filter)
 {
     cache.Put(key, filter);
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 搜索并返回分页数据
 /// </summary>
 /// <param name="searchQuery"><see cref="Lucene.Net.Search.Query"/></param>
 /// <param name="filter"><see cref="Lucene.Net.Search.Filter"/></param>
 /// <param name="sort"><see cref="Lucene.Net.Search.Sort"/></param>
 /// <param name="pageIndex">当前页码</param>
 /// <param name="pageSize">每页记录数</param>
 /// <returns>内容为<see cref="Lucene.Net.Documents.Document"/>的分页数据集合</returns>
 public PagingDataSet <Document> Search(Lucene.Net.Search.Query searchQuery, Lucene.Net.Search.Filter filter, Lucene.Net.Search.Sort sort, int pageIndex, int pageSize)
 {
     return(this.Channel.Search(this.indexPath, searchQuery, filter, sort, pageIndex, pageSize));
 }
Ejemplo n.º 9
0
 /// <summary>
 /// 搜索并返回前topNumber条数据
 /// </summary>
 /// <param name="searchQuery"><see cref="Lucene.Net.Search.Query"/></param>
 /// <param name="filter"><see cref="Lucene.Net.Search.Filter"/></param>
 /// <param name="sort"><see cref="Lucene.Net.Search.Sort"/></param>
 /// <param name="topNumber">最多返回多少条数据</param>
 /// <returns></returns>
 public IEnumerable <Document> Search(Lucene.Net.Search.Query searchQuery, Lucene.Net.Search.Filter filter, Lucene.Net.Search.Sort sort, int topNumber)
 {
     return(this.Channel.Search(this.indexPath, searchQuery, filter, sort, topNumber));
 }