Examples of DocValuesProducer


Examples of org.apache.lucene.codecs.DocValuesProducer

      return producer == null ? null : producer.getSorted(field);
    }

    @Override
    public SortedNumericDocValues getSortedNumeric(FieldInfo field) throws IOException {
      DocValuesProducer producer = fields.get(field.name);
      return producer == null ? null : producer.getSortedNumeric(field);
    }
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

      return producer == null ? null : producer.getSortedNumeric(field);
    }

    @Override
    public SortedSetDocValues getSortedSet(FieldInfo field) throws IOException {
      DocValuesProducer producer = fields.get(field.name);
      return producer == null ? null : producer.getSortedSet(field);
    }
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

      return producer == null ? null : producer.getSortedSet(field);
    }
   
    @Override
    public Bits getDocsWithField(FieldInfo field) throws IOException {
      DocValuesProducer producer = fields.get(field.name);
      return producer == null ? null : producer.getDocsWithField(field);
    }
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

  }

  @Override
  public DocValuesProducer normsProducer(SegmentReadState state) throws IOException {
    assert state.fieldInfos.hasNorms();
    DocValuesProducer producer = in.normsProducer(state);
    assert producer != null;
    return new AssertingDocValuesProducer(producer, state.segmentInfo.getDocCount());
  }
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

  }

  @Override
  public DocValuesProducer fieldsProducer(SegmentReadState state) throws IOException {
    assert state.fieldInfos.hasDocValues();
    DocValuesProducer producer = in.fieldsProducer(state);
    assert producer != null;
    return new AssertingDocValuesProducer(producer, state.segmentInfo.getDocCount());
  }
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

    final DocValuesFormat dvFormat = codec.docValuesFormat();

    int termsIndexDivisor = getTermInfosIndexDivisor();
    if (!si.hasFieldUpdates()) {
      // simple case, no DocValues updates
      final DocValuesProducer dvp = segDocValues.getDocValuesProducer(-1L, si, IOContext.READ, dir, dvFormat, fieldInfos, termsIndexDivisor);
      dvGens.add(-1L);
      dvProducers.add(dvp);
      for (FieldInfo fi : fieldInfos) {
        if (!fi.hasDocValues()) continue;
        assert fi.getDocValuesGen() == -1;
        dvProducersByField.put(fi.name, dvp);
      }
      return;
    }

    Version ver;
    try {
      ver = Version.parseLeniently(si.info.getVersion());
    } catch (IllegalArgumentException e) {
      // happened in TestBackwardsCompatibility on a 4.0.0.2 index (no matching
      // Version constant), anyway it's a pre-4.9 index.
      ver = null;
    }
    if (ver != null && ver.onOrAfter(Version.LUCENE_4_9)) {
      DocValuesProducer baseProducer = null;
      for (FieldInfo fi : fieldInfos) {
        if (!fi.hasDocValues()) continue;
        long docValuesGen = fi.getDocValuesGen();
        if (docValuesGen == -1) {
          if (baseProducer == null) {
//        System.out.println("[" + Thread.currentThread().getName() + "] SR.initDocValuesProducers: segInfo=" + si + "; gen=" + docValuesGen + "; field=" + fi.name);
            // the base producer gets all the fields, so the Codec can validate properly
            baseProducer = segDocValues.getDocValuesProducer(docValuesGen, si, IOContext.READ, dir, dvFormat, fieldInfos, termsIndexDivisor);
            dvGens.add(docValuesGen);
            dvProducers.add(baseProducer);
          }
//        System.out.println("[" + Thread.currentThread().getName() + "] SR.initDocValuesProducers: segInfo=" + si + "; gen=" + docValuesGen + "; field=" + fi.name);
          dvProducersByField.put(fi.name, baseProducer);
        } else {
          assert !dvGens.contains(docValuesGen);
//        System.out.println("[" + Thread.currentThread().getName() + "] SR.initDocValuesProducers: segInfo=" + si + "; gen=" + docValuesGen + "; field=" + fi.name);
          final DocValuesProducer dvp = segDocValues.getDocValuesProducer(docValuesGen, si, IOContext.READ, dir, dvFormat, new FieldInfos(new FieldInfo[] { fi }), termsIndexDivisor);
          dvGens.add(docValuesGen);
          dvProducers.add(dvp);
          dvProducersByField.put(fi.name, dvp);
        }
      }
    } else {
      // For pre-4.9 indexes, especially with doc-values updates, multiple
      // FieldInfos could belong to the same dvGen. Therefore need to make sure
      // we initialize each DocValuesProducer once per gen.
      Map<Long,List<FieldInfo>> genInfos = new HashMap<>();
      for (FieldInfo fi : fieldInfos) {
        if (!fi.hasDocValues()) continue;
        List<FieldInfo> genFieldInfos = genInfos.get(fi.getDocValuesGen());
        if (genFieldInfos == null) {
          genFieldInfos = new ArrayList<>();
          genInfos.put(fi.getDocValuesGen(), genFieldInfos);
        }
        genFieldInfos.add(fi);
      }
     
      for (Map.Entry<Long,List<FieldInfo>> e : genInfos.entrySet()) {
        long docValuesGen = e.getKey();
        List<FieldInfo> infos = e.getValue();
        final DocValuesProducer dvp;
        if (docValuesGen == -1) {
          // we need to send all FieldInfos to gen=-1, but later we need to
          // record the DVP only for the "true" gen=-1 fields (not updated)
          dvp = segDocValues.getDocValuesProducer(docValuesGen, si, IOContext.READ, dir, dvFormat, fieldInfos, termsIndexDivisor);
        } else {
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

    } else {
      FieldInfo fi = getDVField(field, DocValuesType.NUMERIC);
      if (fi == null) {
        return null;
      }
      DocValuesProducer dvProducer = dvProducersByField.get(field);
      assert dvProducer != null;
      NumericDocValues dv = dvProducer.getNumeric(fi);
      dvFields.put(field, dv);
      return dv;
    }
  }
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

      }
      if (fi.getDocValuesType() == null) {
        // Field was not indexed with doc values
        return null;
      }
      DocValuesProducer dvProducer = dvProducersByField.get(field);
      assert dvProducer != null;
      Bits dv = dvProducer.getDocsWithField(fi);
      dvFields.put(field, dv);
      return dv;
    }
  }
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

    Map<String,Object> dvFields = docValuesLocal.get();

    BinaryDocValues dvs = (BinaryDocValues) dvFields.get(field);
    if (dvs == null) {
      DocValuesProducer dvProducer = dvProducersByField.get(field);
      assert dvProducer != null;
      dvs = dvProducer.getBinary(fi);
      dvFields.put(field, dvs);
    }

    return dvs;
  }
View Full Code Here

Examples of org.apache.lucene.codecs.DocValuesProducer

    } else {
      FieldInfo fi = getDVField(field, DocValuesType.SORTED);
      if (fi == null) {
        return null;
      }
      DocValuesProducer dvProducer = dvProducersByField.get(field);
      assert dvProducer != null;
      SortedDocValues dv = dvProducer.getSorted(fi);
      dvFields.put(field, dv);
      return dv;
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.