Package org.apache.solr.search

Examples of org.apache.solr.search.SolrIndexReader


      if (shardsVal == null && !solrParams.getBool(ShardParams.IS_SHARD, false))
    {

      SolrIndexSearcher searcher=rb.req.getSearcher();
     
      SolrIndexReader solrReader = searcher.getReader();
      BoboIndexReader reader = (BoboIndexReader)solrReader.getWrappedReader();
     
      if (reader instanceof BoboIndexReader){
          try {
            List<Query> filters = rb.getFilters();
            if (filters!=null){
View Full Code Here


      return new SpatialScorer(getSimilarity(searcher), reader, this);
    }

    @Override
    public Explanation explain(IndexReader reader, int doc) throws IOException {
      SolrIndexReader topReader = (SolrIndexReader)reader;
      SolrIndexReader[] subReaders = topReader.getLeafReaders();
      int[] offsets = topReader.getLeafOffsets();
      int readerPos = SolrIndexReader.readerIndex(doc, offsets);
      int readerBase = offsets[readerPos];
      return ((SpatialScorer)scorer(subReaders[readerPos], true, true)).explain(doc-readerBase);
    }
View Full Code Here

  /**
   * Given a field name and an IndexReader, get a random hash seed. 
   * Using dynamic fields, you can force the random order to change
   */
  private static int getSeed(String fieldName, IndexReader r) {
    SolrIndexReader top = (SolrIndexReader)r;
    int base=0;
    while (top.getParent() != null) {
      base += top.getBase();
      top = top.getParent();
    }

    // calling getVersion() on a segment will currently give you a null pointer exception, so
    // we use the top-level reader.
    return fieldName.hashCode() + base + (int)top.getVersion();
  }
View Full Code Here

  private Object getResult(boolean isdetail,SolrIndexSearcher searcher,SolrParams params,SolrQueryRequest req,String[] fields, DocSet base)throws Exception
  {
    String crcget=params.get("mdrill.crc.key.get",null);
    if(crcget!=null&&(params.getBool("fetchfdt", false)||isdetail))
    {
      SolrIndexReader reader=searcher.getReader();
      IndexReader.InvertParams invparam=new IndexReader.InvertParams();
      invparam.searcher=searcher;
      invparam.params=params;
      invparam.fields=fields;
      invparam.base=base;
      invparam.req=req;
      invparam.isdetail=isdetail;
      IndexReader.InvertResult result=reader.invertScan(searcher.getSchema(), invparam);
      ArrayList<NamedList> resultlist=result.getResult();
     
      Map<Long,String> crcvalue=new HashMap<Long,String>();
     
      for(NamedList nl:resultlist)
      {
       
        crcvalue.putAll((Map<? extends Long, ? extends String>) nl.get("fdtcre"));
       
      }
     
      return crcvalue;

    }
   
   
    if(crcget!=null)
    {
      ConcurrentHashMap<Long,String> cache=MdrillUtils.CRC_CACHE_SIZE.remove(crcget);
     
      Map<Long,String> crcvalue=new HashMap<Long,String>();
      if(cache==null)
      {
        return crcvalue;
      }
     
      String crcliststr=params.get("mdrill.crc.key.get.crclist");
      if(crcliststr!=null)
      {
        String[] crclist=crcliststr.split(",");
        for(String s:crclist)
        {
          Long crc=Long.parseLong(s);
          String v=cache.get(crc);
          if(v!=null)
          {
            crcvalue.put(crc, v);
          }
        }
      }

      return crcvalue;
    }
   
   
    SolrIndexReader reader=searcher.getReader();
    IndexReader.InvertParams invparam=new IndexReader.InvertParams();
    invparam.searcher=searcher;
    invparam.params=params;
    invparam.fields=fields;
    invparam.base=base;
    invparam.req=req;
    invparam.isdetail=isdetail;
    IndexReader.InvertResult result=reader.invertScan(searcher.getSchema(), invparam);
    ArrayList<NamedList> resultlist=result.getResult();
    if(resultlist.size()==1)
    {
      return resultlist.get(0);
    }
View Full Code Here

  @Override
  public DocValues getValues(Map context, IndexReader reader) throws IOException {
    int offset = 0;
    if (reader instanceof SolrIndexReader) {
      SolrIndexReader r = (SolrIndexReader)reader;
      while (r.getParent() != null) {
        offset += r.getBase();
        r = r.getParent();
      }
      reader = r;
    }
    final int off = offset;
View Full Code Here

  @Override
  public DocValues getValues(Map context, IndexReader reader) throws IOException {
    int offset = 0;
    IndexReader topReader = reader;
    if (topReader instanceof SolrIndexReader) {
      SolrIndexReader r = (SolrIndexReader)topReader;
      while (r.getParent() != null) {
        offset += r.getBase();
        r = r.getParent();
      }
      topReader = r;
    }
    final int off = offset;
    final DocValues vals = vs.getValues(context, topReader);
View Full Code Here

      return new AllScorer(getSimilarity(searcher), reader, this);
    }

    @Override
    public Explanation explain(IndexReader reader, int doc) throws IOException {
      SolrIndexReader topReader = (SolrIndexReader)reader;
      SolrIndexReader[] subReaders = topReader.getLeafReaders();
      int[] offsets = topReader.getLeafOffsets();
      int readerPos = SolrIndexReader.readerIndex(doc, offsets);
      int readerBase = offsets[readerPos];
      return ((AllScorer)scorer(subReaders[readerPos], true, true)).explain(doc-readerBase);
    }
View Full Code Here

      return new BoostedQuery.CustomScorer(getSimilarity(searcher), searcher, reader, this, subQueryScorer, boostVal);
    }

    @Override
    public Explanation explain(IndexReader reader, int doc) throws IOException {
      SolrIndexReader topReader = (SolrIndexReader)reader;
      SolrIndexReader[] subReaders = topReader.getLeafReaders();
      int[] offsets = topReader.getLeafOffsets();
      int readerPos = SolrIndexReader.readerIndex(doc, offsets);
      int readerBase = offsets[readerPos];

      Explanation subQueryExpl = qWeight.explain(reader,doc);
      if (!subQueryExpl.isMatch()) {
View Full Code Here

  @Override
  public DocValues getValues(Map context, IndexReader reader) throws IOException {
    int offset = 0;
    if (reader instanceof SolrIndexReader) {
      SolrIndexReader r = (SolrIndexReader)reader;
      while (r.getParent() != null) {
        offset += r.getBase();
        r = r.getParent();
      }
      reader = r;
    }
    final int off = offset;
View Full Code Here

      return new SpatialScorer(getSimilarity(searcher), reader, this);
    }

    @Override
    public Explanation explain(IndexReader reader, int doc) throws IOException {
      SolrIndexReader topReader = (SolrIndexReader)reader;
      SolrIndexReader[] subReaders = topReader.getLeafReaders();
      int[] offsets = topReader.getLeafOffsets();
      int readerPos = SolrIndexReader.readerIndex(doc, offsets);
      int readerBase = offsets[readerPos];
      return ((SpatialScorer)scorer(subReaders[readerPos], true, true)).explain(doc-readerBase);
    }
View Full Code Here

TOP

Related Classes of org.apache.solr.search.SolrIndexReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.