com.browseengine.bobo.api
Class MultiBoboBrowser

java.lang.Object
  extended by org.apache.lucene.search.Searcher
      extended by org.apache.lucene.search.MultiSearcher
          extended by com.browseengine.bobo.api.MultiBoboBrowser
All Implemented Interfaces:
Browsable, org.apache.lucene.search.Searchable
Direct Known Subclasses:
BoboBrowser

public class MultiBoboBrowser
extends org.apache.lucene.search.MultiSearcher
implements Browsable

Provides implementation of Browser for multiple Browser instances


Nested Class Summary
static class MultiBoboBrowser.BrowseFacetValueComparator
          Compare BrowseFacets by their value
 
Field Summary
protected  Browsable[] _subBrowsers
           
 
Constructor Summary
MultiBoboBrowser(Browsable[] browsers)
           
 
Method Summary
 BrowseResult browse(BrowseRequest req)
          Generate a merged BrowseResult from the given BrowseRequest
 void browse(BrowseRequest req, org.apache.lucene.search.Collector hc, Map<String,FacetAccessible> facetMap)
          Implementation of the browse method using a Lucene HitCollector
 void browse(BrowseRequest req, org.apache.lucene.search.Collector collector, Map<String,FacetAccessible> facetMap, int start)
           
 void browse(BrowseRequest req, org.apache.lucene.search.Weight weight, org.apache.lucene.search.Collector hc, Map<String,FacetAccessible> facetMap, int start)
           
 void close()
           
 FacetHandler<?> getFacetHandler(String name)
           
 Map<String,FacetHandler<?>> getFacetHandlerMap()
           
 Set<String> getFacetNames()
           
 String[] getFieldVal(int docid, String fieldname)
          Return the values of a field for the given doc
 Object[] getRawFieldVal(int docid, String fieldname)
           
 SortCollector getSortCollector(org.apache.lucene.search.SortField[] sort, org.apache.lucene.search.Query q, int offset, int count, boolean fetchStoredFields, boolean forceScoring)
           
 int[] getStarts()
           
 Browsable[] getSubBrowsers()
          Gets the array of sub-browsers
 int numDocs()
           
 void setFacetHandler(FacetHandler<?> facetHandler)
           
 void setSimilarity(org.apache.lucene.search.Similarity similarity)
           
 Browsable subBrowser(int docid)
          Gets the sub-browser for a given docid
 
Methods inherited from class org.apache.lucene.search.MultiSearcher
createWeight, doc, doc, docFreq, explain, getSearchables, maxDoc, rewrite, search, search, search, subDoc, subSearcher
 
Methods inherited from class org.apache.lucene.search.Searcher
docFreqs, explain, getSimilarity, search, search, search, search, search, search, search, search, search, search, search, search
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.browseengine.bobo.api.Browsable
explain, getSimilarity
 
Methods inherited from interface org.apache.lucene.search.Searchable
doc, doc, docFreq, docFreqs, explain, maxDoc, rewrite, search, search, search, search
 

Field Detail

_subBrowsers

protected final Browsable[] _subBrowsers
Constructor Detail

MultiBoboBrowser

public MultiBoboBrowser(Browsable[] browsers)
                 throws IOException
Parameters:
browsers - Browsers to search on
Throws:
IOException
Method Detail

browse

public void browse(BrowseRequest req,
                   org.apache.lucene.search.Collector hc,
                   Map<String,FacetAccessible> facetMap)
            throws BrowseException
Implementation of the browse method using a Lucene HitCollector

Specified by:
browse in interface Browsable
Parameters:
req - BrowseRequest
hc - Collector for the hits generated during a search
Throws:
BrowseException

browse

public void browse(BrowseRequest req,
                   org.apache.lucene.search.Collector collector,
                   Map<String,FacetAccessible> facetMap,
                   int start)
            throws BrowseException
Specified by:
browse in interface Browsable
Throws:
BrowseException

browse

public void browse(BrowseRequest req,
                   org.apache.lucene.search.Weight weight,
                   org.apache.lucene.search.Collector hc,
                   Map<String,FacetAccessible> facetMap,
                   int start)
            throws BrowseException
Specified by:
browse in interface Browsable
Throws:
BrowseException

browse

public BrowseResult browse(BrowseRequest req)
                    throws BrowseException
Generate a merged BrowseResult from the given BrowseRequest

Specified by:
browse in interface Browsable
Parameters:
req - BrowseRequest for generating the facets
Returns:
BrowseResult of the results of the BrowseRequest
Throws:
BrowseException

getFieldVal

public String[] getFieldVal(int docid,
                            String fieldname)
                     throws IOException
Return the values of a field for the given doc

Specified by:
getFieldVal in interface Browsable
Throws:
IOException

getRawFieldVal

public Object[] getRawFieldVal(int docid,
                               String fieldname)
                        throws IOException
Specified by:
getRawFieldVal in interface Browsable
Throws:
IOException

getSubBrowsers

public Browsable[] getSubBrowsers()
Gets the array of sub-browsers

Returns:
sub-browsers
See Also:
MultiSearcher.getSearchables()

getStarts

public int[] getStarts()
Overrides:
getStarts in class org.apache.lucene.search.MultiSearcher

subBrowser

public Browsable subBrowser(int docid)
Gets the sub-browser for a given docid

Parameters:
docid -
Returns:
sub-browser instance
See Also:
MultiSearcher.subSearcher(int)

setSimilarity

public void setSimilarity(org.apache.lucene.search.Similarity similarity)
Specified by:
setSimilarity in interface Browsable
Overrides:
setSimilarity in class org.apache.lucene.search.Searcher

numDocs

public int numDocs()
Specified by:
numDocs in interface Browsable

getFacetNames

public Set<String> getFacetNames()
Specified by:
getFacetNames in interface Browsable

getFacetHandler

public FacetHandler<?> getFacetHandler(String name)
Specified by:
getFacetHandler in interface Browsable

getFacetHandlerMap

public Map<String,FacetHandler<?>> getFacetHandlerMap()
Specified by:
getFacetHandlerMap in interface Browsable

setFacetHandler

public void setFacetHandler(FacetHandler<?> facetHandler)
                     throws IOException
Specified by:
setFacetHandler in interface Browsable
Throws:
IOException

getSortCollector

public SortCollector getSortCollector(org.apache.lucene.search.SortField[] sort,
                                      org.apache.lucene.search.Query q,
                                      int offset,
                                      int count,
                                      boolean fetchStoredFields,
                                      boolean forceScoring)
Specified by:
getSortCollector in interface Browsable

close

public void close()
           throws IOException
Specified by:
close in interface org.apache.lucene.search.Searchable
Overrides:
close in class org.apache.lucene.search.MultiSearcher
Throws:
IOException


Copyright © 2011. All Rights Reserved.