public FacetTermQuery(BrowseSelection sel, IDictionary <string, float> boostMap, IFacetTermScoringFunctionFactory scoringFactory) { m_name = sel.FieldName; m_sel = sel; m_scoringFactory = scoringFactory; m_boostMap = boostMap; }
public override FacetCountCollectorSource GetFacetCountCollectorSource(BrowseSelection sel, FacetSpec fspec) { IEnumerable <string> list = BuildAllRangeStrings(sel.Values); // every string in the above list is of the form <latitude, longitude, radius>, which can be interpreted by GeoSimpleFacetCountCollector return(new GeoSimpleFacetHandlerFacetCountCollectorSource(_latFacetHandler, _longFacetHandler, _name, fspec, list)); }
public FacetTermQuery(BrowseSelection sel, IDictionary<string, float> boostMap, IFacetTermScoringFunctionFactory scoringFactory) { _name = sel.FieldName; _sel = sel; _scoringFactory = scoringFactory; _boostMap = boostMap; }
internal PathFacetCountCollector(string name, string sep, BrowseSelection sel, FacetSpec ospec, FacetDataCache dataCache) { _sel = sel; _ospec = ospec; _name = name; _dataCache = dataCache; _sep = sep; _sepArray = sep.ToCharArray(); _count = new LazyBigIntArray(_dataCache.Freqs.Length); log.Info(name + ": " + _count.Size()); _orderArray = _dataCache.OrderArray; _minHitCount = ospec.MinHitCount; _maxCount = ospec.MaxCount; if (_maxCount < 1) { _maxCount = _count.Size(); } FacetSpec.FacetSortSpec sortOption = ospec.OrderBy; switch (sortOption) { case FacetSpec.FacetSortSpec.OrderHitsDesc: _comparatorFactory = new FacetHitcountComparatorFactory(); break; case FacetSpec.FacetSortSpec.OrderValueAsc: _comparatorFactory = null; break; case FacetSpec.FacetSortSpec.OrderByCustom: _comparatorFactory = ospec.CustomComparatorFactory; break; default: throw new ArgumentOutOfRangeException("invalid sort option: " + sortOption); } _splitPat = new Regex(_sep, RegexOptions.Compiled); _stringData = new string[10]; _patStart = 0; _patEnd = 0; }
public SimpleFacetHandlerFacetCountCollectorSource(Func <BoboIndexReader, FacetDataCache> getFacetData, string name, BrowseSelection sel, FacetSpec ospec) { this.getFacetData = getFacetData; _name = name; _sel = sel; _ospec = ospec; }
public SimpleGroupByFacetHandlerFacetCountCollectorSource(Func <BoboSegmentReader, FacetDataCache> getFacetData, string name, BrowseSelection sel, FacetSpec ospec) { this.getFacetData = getFacetData; m_name = name; m_sel = sel; m_ospec = ospec; }
public MultiValueFacetCountCollectorSource(MultiValueFacetHandler parent, string name, BrowseSelection sel, FacetSpec ospec) { this._parent = parent; this._name = name; this._sel = sel; this._ospec = ospec; }
public FacetTermQuery(BrowseSelection sel, Dictionary<string, float> boostMap, IFacetTermScoringFunctionFactory scoringFactory) { name = sel.FieldName; this.sel = sel; this.scoringFactory = scoringFactory; this.boostMap = boostMap; }
public CompactMultiValueFacetCountCollectorSource(Func <BoboIndexReader, FacetDataCache> getFacetData, string name, BrowseSelection sel, FacetSpec ospec) { this.getFacetData = getFacetData; _name = name; _ospec = ospec; _sel = sel; }
public GroupbyFacetCountCollectorSource(IEnumerable <SimpleFacetHandler> facetHandlers, string name, string sep, BrowseSelection sel, FacetSpec fspec) { _facetHandlers = facetHandlers; _name = name; _sep = sep; _sel = sel; _fspec = fspec; }
public virtual char GetSeparator(BrowseSelection browseSelection) { if (browseSelection == null || !browseSelection.SelectionProperties.ContainsKey(SEPARATOR_PROP_NAME)) { return separator; } return browseSelection.SelectionProperties.Get(SEPARATOR_PROP_NAME)[0]; }
public virtual char GetSeparator(BrowseSelection browseSelection) { if (browseSelection == null || !browseSelection.SelectionProperties.ContainsKey(SEPARATOR_PROP_NAME)) { return(separator); } return(browseSelection.SelectionProperties.Get(SEPARATOR_PROP_NAME)[0]); }
public virtual int GetFacetsPerKey(BrowseSelection browseSelection) { if (browseSelection == null || !browseSelection.SelectionProperties.ContainsKey(MAX_FACETS_PER_KEY_PROP_NAME)) { return numFacetsPerKey; } return int.Parse(browseSelection.SelectionProperties.Get(MAX_FACETS_PER_KEY_PROP_NAME)); }
public virtual int GetFacetsPerKey(BrowseSelection browseSelection) { if (browseSelection == null || !browseSelection.SelectionProperties.ContainsKey(MAX_FACETS_PER_KEY_PROP_NAME)) { return(numFacetsPerKey); } return(int.Parse(browseSelection.SelectionProperties.Get(MAX_FACETS_PER_KEY_PROP_NAME))); }
//private int _totalGroups; // NOT USED public GroupByFacetCountCollector(string name, FacetDataCache dataCache, int docBase, BrowseSelection sel, FacetSpec ospec) : base(name, dataCache, docBase, sel, ospec) { }
public GroupbyFacetCountCollectorSource(IList <SimpleFacetHandler> facetHandlers, string name, string sep, BrowseSelection sel, FacetSpec fspec) { m_facetHandlers = facetHandlers; m_name = name; m_sep = sep; m_sel = sel; m_fspec = fspec; }
public BucketFacetCountCollectorSource(string name, BrowseSelection sel, FacetSpec ospec, IDictionary <string, string[]> predefinedBuckets, IFacetHandler dependOnFacetHandler) { m_name = name; m_sel = sel; m_ospec = ospec; m_predefinedBuckets = predefinedBuckets; m_dependOnFacetHandler = dependOnFacetHandler; }
public DefaultFacetCountCollector(BrowseSelection sel, FacetDataCache dataCache, string name, FacetSpec ospec) { _sel = sel; _ospec = ospec; _name = name; _dataCache = dataCache; _count = new int[_dataCache.freqs.Length]; _array = _dataCache.orderArray; }
public MultiValueFacetCountCollector(string name, MultiValueFacetDataCache dataCache, int docBase, BrowseSelection sel, FacetSpec ospec) : base(name, dataCache, docBase, sel, ospec) { _array = dataCache.NestedArray; }
public PathFacetHandlerFacetCountCollectorSource(PathFacetHandler parent, string name, string separator, BrowseSelection sel, FacetSpec ospec, bool multiValue) { _parent = parent; _name = name; _separator = separator; _sel = sel; _ospec = ospec; _multiValue = multiValue; }
/// <summary> /// Creates a browser request from the passed in key value pair query string /// </summary> /// <param name="querystring"></param> /// <param name="page"></param> /// <param name="useOffset"></param> /// <param name="itemsPerPage"></param> /// <returns></returns> public virtual BrowseRequest CreateBrowseRequest(List <KeyValuePair <string, string> > querystring, int?page = null, bool useOffset = false, int itemsPerPage = 10) { Query query = null; var compiledQuery = BuildBaseQuery(querystring); if (compiledQuery != null) { var luceneParams = compiledQuery as LuceneSearchCriteria; query = luceneParams?.Query ?? throw new ArgumentException("Provided ISearchCriteria dos not match the allowed ISearchCriteria. Ensure you only use an ISearchCriteria created from the current SearcherProvider"); } var offset = 0; if (!page.HasValue) { page = 1; } var count = page.Value * itemsPerPage; if (useOffset) { offset = (page.Value - 1) * itemsPerPage; count = itemsPerPage; } var browseRequest = new BrowseRequest { Offset = offset, Count = count, Query = query, FetchStoredFields = true, Sort = DetermineSort(querystring) }; var facetSelection = QueryStringParser.ParseQueryString(querystring, FacetFields); foreach (var facetField in facetSelection) { if (facetField.Value.Any()) { var sel = new BrowseSelection(facetField.Key.Alias.FacetFieldAlias()); foreach (var selection in facetField.Value) { if (!string.IsNullOrEmpty(selection)) { sel.AddValue(selection); } } sel.SelectionOperation = facetField.Key.SelectionOperation; browseRequest.AddSelection(sel); } } return(browseRequest); }
public void TestLogging() { // Set up a simple Log4Net configuration that logs in memory. var memAppend = new log4net.Appender.MemoryAppender(); #if NETCOREAPP1_0 var repository = LogManager.GetRepository(Assembly.GetEntryAssembly()); BasicConfigurator.Configure(repository, memAppend); #else BasicConfigurator.Configure(memAppend); #endif BrowseRequest br = new BrowseRequest(); br.Count = 20; br.Offset = 0; BrowseSelection colorSel = new BrowseSelection("mycolor"); colorSel.AddValue("yellow"); br.AddSelection(colorSel); BrowseSelection makeSel = new BrowseSelection("make"); makeSel.AddValue("rav4"); br.AddSelection(makeSel); FacetSpec spec = new FacetSpec(); spec.ExpandSelection = true; spec.OrderBy = FacetSpec.FacetSortSpec.OrderHitsDesc; spec.MaxCount = 15; br.SetFacetSpec("mycolor", spec); br.SetFacetSpec("id", spec); br.SetFacetSpec("make", spec); Directory ramIndexDir = CreateIndex(); using (DirectoryReader srcReader = DirectoryReader.Open(ramIndexDir)) { using (BoboMultiReader boboReader = BoboMultiReader.GetInstance(srcReader, _facetHandlers)) { using (BoboBrowser boboBrowser = new BoboBrowser(boboReader)) { using (BrowseResult result = boboBrowser.Browse(br)) { } } } } var events = memAppend.GetEvents(); Assert.AreEqual(3, events.Length); StringAssert.StartsWith("facetHandler loaded: id, took:", events[0].RenderedMessage); StringAssert.StartsWith("facetHandler loaded: make, took:", events[1].RenderedMessage); StringAssert.StartsWith("facetHandler loaded: mycolor, took:", events[2].RenderedMessage); }
public override FacetCountCollectorSource GetFacetCountCollectorSource(BrowseSelection sel, FacetSpec ospec, bool groupMode) { if (groupMode) { return(new SimpleGroupByFacetHandlerFacetCountCollectorSource(this.GetFacetData <FacetDataCache>, _name, sel, ospec)); } else { return(new SimpleFacetHandlerFacetCountCollectorSource(this.GetFacetData <FacetDataCache>, _name, sel, ospec)); } }
public AttributesFacetCountCollector(AttributesFacetHandler attributesFacetHandler, string name, MultiValueFacetDataCache dataCache, int docBase, BrowseSelection browseSelection, FacetSpec ospec, int numFacetsPerKey, char separator) : base(name, dataCache, docBase, browseSelection, ospec) { this.attributesFacetHandler = attributesFacetHandler; this.dataCache = dataCache; this.numFacetsPerKey = numFacetsPerKey; this.separator = separator; //_array = dataCache.NestedArray; // NOT USED if (browseSelection != null) { values = browseSelection.Values; } }
BrowseSelection IContentHandler.GetSelection(ResourceSearchQuery searchQuery) { if (searchQuery.ResourceType == null) { return(null); } var selection = new BrowseSelection(FieldName.ItemType); selection.addValue(searchQuery.ResourceType.Value.Encode()); return(selection); }
public override RandomAccessFilter BuildRandomAccessFilter(string value, IDictionary <string, string> selectionProperty) { List <RandomAccessFilter> filterList = new List <RandomAccessFilter>(); string[] vals = value.Split(new string[] { m_sep }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < vals.Length; ++i) { SimpleFacetHandler handler = m_facetHandlers[i]; BrowseSelection sel = new BrowseSelection(handler.Name); sel.AddValue(vals[i]); filterList.Add(handler.BuildFilter(sel)); } return(new RandomAccessAndFilter(filterList)); }
public void TestNotValuesForSimpleFacetHandler() { BrowseRequest br = new BrowseRequest(); br.Count = 20; br.Offset = 0; BrowseSelection colorSel = new BrowseSelection("color"); colorSel.AddValue("red"); br.AddSelection(colorSel); BrowseSelection idSel = new BrowseSelection("id"); idSel.AddNotValue("0"); br.AddSelection(idSel); BrowseResult result = null; BoboBrowser boboBrowser = null; int expectedHitNum = (_documentSize / 2) - 1; using (Directory ramIndexDir = CreateIndex()) { using (IndexReader srcReader = IndexReader.Open(ramIndexDir, true)) { using (boboBrowser = new BoboBrowser(BoboIndexReader.GetInstance(srcReader, _facetHandlers, null))) { result = boboBrowser.Browse(br); Assert.AreEqual(expectedHitNum, result.NumHits); StringBuilder buffer = new StringBuilder(); BrowseHit[] hits = result.Hits; for (int i = 0; i < hits.Length; ++i) { int expectedID = (i + 1) * 2; Assert.AreEqual(expectedID, int.Parse(hits[i].GetField("id"))); if (i != 0) { buffer.Append('\n'); } buffer.Append("id=" + hits[i].GetField("id") + "," + "color=" + hits[i].GetField("color")); } log.Info(buffer.ToString()); } } } }
public void AddSelection(string name, string val, bool isNot) { BrowseSelection sel = _req.GetSelection(name); if (sel == null) { sel = new BrowseSelection(name); } if (isNot) { sel.AddNotValue(val); } else { sel.AddValue(val); } _req.AddSelection(sel); }
public virtual RandomAccessFilter BuildFilter(BrowseSelection sel) { string[] selections = sel.Values; string[] notSelections = sel.NotValues; IDictionary <string, string> prop = sel.SelectionProperties; RandomAccessFilter filter = null; if (selections != null && selections.Length > 0) { if (sel.SelectionOperation == BrowseSelection.ValueOperation.ValueOperationAnd) { filter = BuildRandomAccessAndFilter(selections, prop); if (filter == null) { filter = EmptyFilter.Instance; } } else { filter = BuildRandomAccessOrFilter(selections, prop, false); if (filter == null) { return(EmptyFilter.Instance); } } } if (notSelections != null && notSelections.Length > 0) { RandomAccessFilter notFilter = BuildRandomAccessOrFilter(notSelections, prop, true); if (filter == null) { filter = notFilter; } else { RandomAccessFilter andFilter = new RandomAccessAndFilter(new RandomAccessFilter[] { filter, notFilter }.ToList()); filter = andFilter; } } return(filter); }
public void TestFacetNameForSimpleFacetHandler() { BrowseRequest br = new BrowseRequest(); br.Count = 20; br.Offset = 0; BrowseSelection colorSel = new BrowseSelection("mycolor"); colorSel.AddValue("yellow"); br.AddSelection(colorSel); BrowseSelection makeSel = new BrowseSelection("make"); makeSel.AddValue("rav4"); br.AddSelection(makeSel); FacetSpec spec = new FacetSpec(); spec.ExpandSelection = true; spec.OrderBy = FacetSpec.FacetSortSpec.OrderHitsDesc; spec.MaxCount = 15; br.SetFacetSpec("mycolor", spec); br.SetFacetSpec("id", spec); br.SetFacetSpec("make", spec); int expectedHitNum = 3; Directory ramIndexDir = CreateIndex(); using (DirectoryReader srcReader = DirectoryReader.Open(ramIndexDir)) { using (BoboMultiReader boboReader = BoboMultiReader.GetInstance(srcReader, _facetHandlers)) { using (BoboBrowser boboBrowser = new BoboBrowser(boboReader)) { using (BrowseResult result = boboBrowser.Browse(br)) { Assert.AreEqual(expectedHitNum, result.NumHits); } } } } }
public BrowseRequest CreateRequest(int minHitCount, BrowseSelection.ValueOperation operation, params string[] terms) { BrowseRequest req = new BrowseRequest(); BrowseSelection sel = new BrowseSelection(AttributeHandlerName); foreach (String term in terms) { sel.AddValue(term); } sel.SetSelectionProperties(selectionProperties); sel.SelectionOperation = (operation); req.AddSelection(sel); req.Count = (50); FacetSpec fs = new FacetSpec(); fs.MinHitCount = (minHitCount); req.SetFacetSpec(AttributeHandlerName, fs); return req; }
protected BrowseSelection GetSelection(ICollection <Guid> industryIds) { if (industryIds == null || industryIds.Count == 0 || _allIndustryIds.IsSubsetOf(industryIds)) { return(null); } var selection = new BrowseSelection(_fieldName); selection.setSelectionOperation(BrowseSelection.ValueOperation.ValueOperationOr); foreach (var industry in industryIds.Select(id => id.ToFieldValue())) { selection.addValue(industry); } return(selection); }
BrowseSelection IContentHandler.GetSelection(MemberSearchQuery searchQuery) { if (searchQuery.CandidateStatusList == null || _allStatuses.IsSubsetOf(searchQuery.CandidateStatusList)) { return(null); } var selection = new BrowseSelection(FieldName.CandidateStatus); selection.setSelectionOperation(BrowseSelection.ValueOperation.ValueOperationOr); foreach (var status in searchQuery.CandidateStatusList) { selection.addValue(status.Encode()); } return(selection); }
public void AddSelection(string name, string val, bool isNot) { BrowseSelection sel = m_req.GetSelection(name); if (sel == null) { sel = new BrowseSelection(name); } if (isNot) { sel.AddNotValue(val); } else { sel.AddValue(val); } m_req.AddSelection(sel); }
protected BrowseSelection GetSelection(JobTypes?jobTypes) { if (!jobTypes.HasValue || jobTypes.Value == JobTypes.None || jobTypes.Value == JobTypes.All) { return(null); } var selection = new BrowseSelection(_fieldName); selection.setSelectionOperation(BrowseSelection.ValueOperation.ValueOperationOr); foreach (var jobType in Split(jobTypes.Value)) { selection.addValue(Encode(jobType)); } return(selection); }
public BrowseRequest CreateRequest(int minHitCount, BrowseSelection.ValueOperation operation, params string[] terms) { BrowseRequest req = new BrowseRequest(); BrowseSelection sel = new BrowseSelection(AttributeHandlerName); foreach (String term in terms) { sel.AddValue(term); } sel.SetSelectionProperties(selectionProperties); sel.SelectionOperation = (operation); req.AddSelection(sel); req.Count = (50); FacetSpec fs = new FacetSpec(); fs.MinHitCount = (minHitCount); req.SetFacetSpec(AttributeHandlerName, fs); return(req); }
public void TestNotValuesForRangeFacetHandler() { Console.WriteLine("TestNotValuesForRangeFacetHandler"); BrowseResult result = null; BoboBrowser boboBrowser = null; using (Directory ramIndexDir = CreateIndexTwo()) { using (IndexReader srcReader = IndexReader.Open(ramIndexDir, true)) { using (boboBrowser = new BoboBrowser(BoboIndexReader.GetInstance(srcReader, _facetHandlers, null))) { BrowseRequest br = new BrowseRequest(); br.Count = (20); br.Offset = (0); if (_idRanges == null) { log.Error("_idRanges cannot be null in order to test NOT on RangeFacetHandler"); } BrowseSelection idSel = new BrowseSelection("idRange"); //int rangeIndex = 2; // Not used idSel.AddNotValue(_idRanges[0]); int expectedHitNum = 1; br.AddSelection(idSel); BooleanQuery q = new BooleanQuery(); q.Add(NumericRangeQuery.NewIntRange("NUM", 10, 10, true, true), Occur.MUST_NOT); q.Add(new MatchAllDocsQuery(), Occur.MUST); br.Query = q; result = boboBrowser.Browse(br); Assert.AreEqual(expectedHitNum, result.NumHits); for (int i = 0; i < result.NumHits; i++) { Console.WriteLine(result.Hits[i]); } } } } }
internal PathFacetCountCollector(string name, string sep, BrowseSelection sel, FacetSpec ospec, FacetDataCache dataCache) { m_sel = sel; m_name = name; m_dataCache = dataCache; m_sep = sep; m_sepArray = sep.ToCharArray(); m_count = new LazyBigInt32Array(m_dataCache.Freqs.Length); log.Info(name + ": " + m_count.Length); m_orderArray = m_dataCache.OrderArray; m_minHitCount = ospec.MinHitCount; m_maxCount = ospec.MaxCount; if (m_maxCount < 1) { m_maxCount = m_count.Length; } FacetSpec.FacetSortSpec sortOption = ospec.OrderBy; switch (sortOption) { case FacetSpec.FacetSortSpec.OrderHitsDesc: m_comparerFactory = new FacetHitcountComparerFactory(); break; case FacetSpec.FacetSortSpec.OrderValueAsc: m_comparerFactory = null; break; case FacetSpec.FacetSortSpec.OrderByCustom: m_comparerFactory = ospec.CustomComparerFactory; break; default: throw new ArgumentOutOfRangeException("invalid sort option: " + sortOption); } // Doesn't make much sense to do this, so it is commented. // new Regex(_sep, RegexOptions.Compiled); m_stringData = new string[10]; m_patStart = 0; m_patEnd = 0; }
public DefaultFacetCountCollector(string name, FacetDataCache dataCache, int docBase, BrowseSelection sel, FacetSpec ospec) { _sel = sel; _ospec = ospec; _name = name; _dataCache = dataCache; _countlength = _dataCache.Freqs.Length; if (_dataCache.Freqs.Length <= 3096) { _count = new LazyBigIntArray(_countlength); } else { _count = new LazyBigIntArray(_countlength); // NOTE: Removed memory manager implementation //_count = intarraymgr.Get(_countlength); //intarraylist.Add(_count); } _array = _dataCache.OrderArray; _docBase = docBase; }
private BrowseResult PerformSearch(Query query, string indexPath, IEnumerable<Models.SelectionGroup> selectionGroups) { string[] FieldNames = new string[] { "Material", "Style", "Mounting", "Brand" }; var handlers = new List<FacetHandler>(); foreach (string field in FieldNames) { handlers.Add(new SimpleFacetHandler(field)); } // Run the search // create the index reader var directory = FSDirectory.Open(new System.IO.DirectoryInfo(indexPath)); var indexReader = DirectoryReader.Open(directory, true); //// This is how to get a searcher for executing the search, not for working with facets //IndexSearcher indexSearcher = new IndexSearcher(directory, true); //indexSearcher.Search( // Decorate it with the Bobo index reader BoboIndexReader boboReader = BoboIndexReader.GetInstance(indexReader, handlers); // create a browse request BrowseRequest browseRequest = new BrowseRequest(); // NOTE: these must be used in production to page the results browseRequest.Count = 50; browseRequest.Offset = 0; browseRequest.FetchStoredFields = true; //Query query = new QueryParser( // Lucene.Net.Util.Version.LUCENE_29, // "title", // new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29) // ).Parse(model.Phrase); if (selectionGroups != null) { // Add the selections to the search foreach (var group in selectionGroups) { BrowseSelection sel = new BrowseSelection(group.Name); foreach (var value in group.Selections) { sel.AddValue(value); } browseRequest.AddSelection(sel); } } browseRequest.Query = query; //// add the facet output specs //FacetSpec brandSpec = new FacetSpec(); //brandSpec.OrderBy = FacetSpec.FacetSortSpec.OrderHitsDesc; //browseRequest.SetFacetSpec("Brand", brandSpec); foreach (var name in FieldNames) { // add the facet output specs FacetSpec spec = new FacetSpec(); //spec.OrderBy = FacetSpec.FacetSortSpec.OrderHitsDesc; // NOTE: if this is a secondary search, we want to get the facets with 0 // hits so the checkboxes can be set on the UI...or otherwise program the UI // to disable and set to 0 all of the selections that aren't in the result if (selectionGroups != null) { spec.MinHitCount = 0; } browseRequest.SetFacetSpec(name, spec); } // perform browse IBrowsable browser = new BoboBrowser(boboReader); BrowseResult result = browser.Browse(browseRequest); return result; }
private BrowseResult PerformAutoCompleteLookup(string prefix, string indexPath) { FacetHandler handler = new MultiValueFacetHandler("title"); Directory directory = FSDirectory.Open(new System.IO.DirectoryInfo(indexPath)); IndexReader indexReader = IndexReader.Open(directory, true); // decorate it with a bobo index reader BoboIndexReader boboReader = BoboIndexReader.GetInstance(indexReader, new FacetHandler[] { handler }); BrowseRequest browseRequest = new BrowseRequest(); browseRequest.Count = 8; browseRequest.Offset = 0; browseRequest.FetchStoredFields = true; // add a selection BrowseSelection sel = new BrowseSelection("title"); //sel.AddValue("alexey"); browseRequest.AddSelection(sel); // parse a query // NOTE: this was "Entity" originally QueryParser parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "title", new KeywordAnalyzer()); Query q = parser.Parse("SPListItem"); browseRequest.Query = q; // add the facet output specs FacetSpec spec = new FacetSpec(); spec.Prefix = prefix; spec.OrderBy = FacetSpec.FacetSortSpec.OrderHitsDesc; browseRequest.SetFacetSpec("title", spec); // perform browse IBrowsable browser = new BoboBrowser(boboReader); BrowseResult result = browser.Browse(browseRequest); return result; //// Showing results now //Dictionary<String, IFacetAccessible> facetMap = result.FacetMap; //IFacetAccessible colorFacets = facetMap["Body"]; //IEnumerable<BrowseFacet> facetVals = colorFacets.GetFacets(); //Debug.WriteLine("Facets:"); //int count = 0; //foreach (BrowseFacet facet in facetVals) //{ // count++; // Debug.WriteLine(facet.ToString()); //} //Debug.WriteLine("Total = " + count); }
public SimpleFacetCountCollector(BrowseSelection sel, FacetDataCache dataCache, string name, FacetSpec ospec) : base(sel, dataCache, name, ospec) { }
public override IFacetCountCollector GetFacetCountCollector(BrowseSelection sel, FacetSpec ospec) { return new SimpleFacetCountCollector(sel, _dataCache, this.Name, ospec); }
public override IFacetCountCollector GetFacetCountCollector(BrowseSelection sel, FacetSpec fspec) { return new FilterMapFacetCountCollector(this); }
public MultiValuedPathFacetCountCollector(string name, string sep, BrowseSelection sel, FacetSpec ospec, FacetDataCache dataCache) : base(name, sep, sel, ospec, dataCache) { _array = ((MultiValueFacetDataCache)(dataCache)).NestedArray; }
public override IFacetCountCollector GetFacetCountCollector(BrowseSelection sel, FacetSpec ospec) { return new PathFacetCountCollector(this.Name, separator, sel, ospec, dataCache); }
internal PathFacetCountCollector(string name, string sep, BrowseSelection sel, FacetSpec ospec, FacetDataCache dataCache) { _sel = sel; _ospec = ospec; _name = name; _dataCache = dataCache; _sep = sep; _count = new int[_dataCache.freqs.Length]; _orderArray = _dataCache.orderArray; }
public AttributesFacetCountCollectorSource(AttributesFacetHandler parent, BrowseSelection browseSelection, FacetSpec ospec) { _parent = parent; _browseSelection = browseSelection; _ospec = ospec; }
/// <summary> /// Gets a FacetCountCollector /// </summary> /// <param name="sel"></param> /// <param name="fspec"></param> /// <returns></returns> public abstract IFacetCountCollector GetFacetCountCollector(BrowseSelection sel, FacetSpec fspec);
public override IFacetCountCollector GetFacetCountCollector(BrowseSelection sel, FacetSpec ospec) { return new RangeFacetCountCollector(this.Name, dataCache, ospec, predefinedRanges, autoRange); }
public RandomAccessFilter BuildFilter(BrowseSelection sel) { string[] selections = sel.Values; string[] notSelections = sel.NotValues; Properties prop = sel.SelectionProperties; RandomAccessFilter filter = null; if (selections != null && selections.Length > 0) { if (sel.SelectionOperation == BrowseSelection.ValueOperation.ValueOperationAnd) { filter = BuildRandomAccessAndFilter(selections, prop); if (filter == null) { filter = EmptyFilter.GetInstance(); } } else { filter = BuildRandomAccessOrFilter(selections, prop, false); if (filter == null) { return EmptyFilter.GetInstance(); } } } if (notSelections != null && notSelections.Length > 0) { RandomAccessFilter notFilter = BuildRandomAccessOrFilter(notSelections, prop, true); if (filter == null) { filter = notFilter; } else { RandomAccessFilter andFilter = new RandomAccessAndFilter(new RandomAccessFilter[] { filter, notFilter }.ToList()); filter = andFilter; } } return filter; }
internal MultiValueFacetCountCollector(BrowseSelection sel, FacetDataCache dataCache, string name, FacetSpec ospec) : base(sel, dataCache, name, ospec) { _array = ((MultiValueFacetDataCache)(_dataCache))._nestedArray; }
public override FacetCountCollectorSource GetFacetCountCollectorSource(BrowseSelection sel, FacetSpec ospec) { return new AttributesFacetCountCollectorSource(this, sel, ospec); }
public FacetTermQuery(BrowseSelection sel, IDictionary<string, float> boostMap) : this(sel, boostMap, new DefaultFacetTermScoringFunctionFactory()) { }