Package org.apache.solr.search.function

Examples of org.apache.solr.search.function.DocValues


      return field;
    }

    @Override
    public DocValues getValues(Map context, final IndexReader reader) throws IOException {
      return new DocValues() {
          private final int seed = getSeed(field, reader);
          @Override
          public float floatVal(int doc) {
            return (float)hash(doc+seed);
          }
View Full Code Here


    return "const(" + constant + ")";
  }

  @Override
  public DocValues getValues(Map context, IndexReader reader) throws IOException {
    return new DocValues() {
      @Override
      public float floatVal(int doc) {
        return fv;
      }
View Full Code Here

      return DoubleParser.this.name();
    }

    @Override
    public DocValues getValues(Map context, IndexReader reader) throws IOException {
      final DocValues vals = source.getValues(context, reader);
      return new DocValues() {
        @Override
        public float floatVal(int doc) {
          return (float) doubleVal(doc);
        }

        @Override
        public int intVal(int doc) {
          return (int) doubleVal(doc);
        }

        @Override
        public long longVal(int doc) {
          return (long) doubleVal(doc);
        }

        @Override
        public double doubleVal(int doc) {
          return func(doc, vals);
        }

        @Override
        public String strVal(int doc) {
          return Double.toString(doubleVal(doc));
        }

        @Override
        public String toString(int doc) {
          return name() + '(' + vals.toString(doc) + ')';
        }
      };
    }
View Full Code Here

      return name() + "(" + a.description() + "," + b.description() + ")";
    }

    @Override
    public DocValues getValues(Map context, IndexReader reader) throws IOException {
      final DocValues aVals = a.getValues(context, reader);
      final DocValues bVals = b.getValues(context, reader);
      return new DocValues() {
        @Override
        public float floatVal(int doc) {
          return (float) doubleVal(doc);
        }

        @Override
        public int intVal(int doc) {
          return (int) doubleVal(doc);
        }

        @Override
        public long longVal(int doc) {
          return (long) doubleVal(doc);
        }

        @Override
        public double doubleVal(int doc) {
          return func(doc, aVals, bVals);
        }

        @Override
        public String strVal(int doc) {
          return Double.toString(doubleVal(doc));
        }

        @Override
        public String toString(int doc) {
          return name() + '(' + aVals.toString(doc) + ',' + bVals.toString(doc) + ')';
        }
      };
    }
View Full Code Here

  public DocValues getValues(Map context, IndexReader reader) throws IOException {
    int size = sources.size();

    // special-case x,y and lat,lon since it's so common
    if (size==2) {
      final DocValues x = sources.get(0).getValues(context, reader);
      final DocValues y = sources.get(1).getValues(context, reader);
      return new DocValues() {
        @Override
        public void byteVal(int doc, byte[] vals) {
          vals[0] = x.byteVal(doc);
          vals[1] = y.byteVal(doc);
        }

        @Override
        public void shortVal(int doc, short[] vals) {
          vals[0] = x.shortVal(doc);
          vals[1] = y.shortVal(doc);
        }
        @Override
        public void intVal(int doc, int[] vals) {
          vals[0] = x.intVal(doc);
          vals[1] = y.intVal(doc);
        }
        @Override
        public void longVal(int doc, long[] vals) {
          vals[0] = x.longVal(doc);
          vals[1] = y.longVal(doc);
        }
        @Override
        public void floatVal(int doc, float[] vals) {
          vals[0] = x.floatVal(doc);
          vals[1] = y.floatVal(doc);
        }
        @Override
        public void doubleVal(int doc, double[] vals) {
          vals[0] = x.doubleVal(doc);
          vals[1] = y.doubleVal(doc);
        }
        @Override
        public void strVal(int doc, String[] vals) {
          vals[0] = x.strVal(doc);
          vals[1] = y.strVal(doc);
        }
        @Override
        public String toString(int doc) {
          return name() + "(" + x.toString(doc) + "," + y.toString(doc) + ")";
        }
      };
    }


    final DocValues[] valsArr = new DocValues[size];
    for (int i = 0; i < size; i++) {
      valsArr[i] = sources.get(i).getValues(context, reader);
    }

    return new DocValues() {
      @Override
      public void byteVal(int doc, byte[] vals) {
        for (int i = 0; i < valsArr.length; i++) {
          vals[i] = valsArr[i].byteVal(doc);
        }
View Full Code Here

  @Override
  public DocValues getValues(Map context, IndexReader reader) throws IOException {
    final int[] arr = (parser==null) ?
            cache.getInts(reader, field) :
            cache.getInts(reader, field, parser);
    return new DocValues() {
      @Override
      public float floatVal(int doc) {
        return (float)arr[doc];
      }
View Full Code Here

    final FieldCache.StringIndex sindex = FieldCache.DEFAULT.getStringIndex(reader, field);

    final int arr[] = sindex.order;
    final int end = sindex.lookup.length;

    return new DocValues() {
      @Override
      public float floatVal(int doc) {
        return (float)(end - arr[doc]);
      }
View Full Code Here

  }

  @Override
  public DocValues getValues(Map context, IndexReader reader) throws IOException {

    final DocValues vals1 = source1.getValues(context, reader);

    final DocValues vals2 = source2.getValues(context, reader);


    return new DocValues() {
      @Override
      public byte byteVal(int doc) {
        return (byte) doubleVal(doc);
      }

      @Override
      public short shortVal(int doc) {
        return (short) doubleVal(doc);
      }

      @Override
      public float floatVal(int doc) {
        return (float) doubleVal(doc);
      }

      @Override
      public int intVal(int doc) {
        return (int) doubleVal(doc);
      }

      @Override
      public long longVal(int doc) {
        return (long) doubleVal(doc);
      }

      @Override
      public double doubleVal(int doc) {
        return distance(doc, vals1, vals2);
      }

      @Override
      public String strVal(int doc) {
        return Double.toString(doubleVal(doc));
      }

      @Override
      public String toString(int doc) {
        StringBuilder sb = new StringBuilder();
        sb.append(name()).append('(').append(power).append(',');
        boolean firstTime = true;
        sb.append(vals1.toString(doc)).append(',');
        sb.append(vals2.toString(doc));
        sb.append(')');
        return sb.toString();
      }
    };
  }
View Full Code Here

    return "geohash";
  }

  @Override
  public DocValues getValues(Map context, IndexReader reader) throws IOException {
    final DocValues latDV = lat.getValues(context, reader);
    final DocValues lonDV = lon.getValues(context, reader);


    return new DocValues() {

      @Override
      public String strVal(int doc) {
        return GeoHashUtils.encode(latDV.doubleVal(doc), lonDV.doubleVal(doc));
      }

      @Override
      public String toString(int doc) {
        StringBuilder sb = new StringBuilder();
        sb.append(name()).append('(');
        sb.append(latDV.toString(doc)).append(',').append(lonDV.toString(doc));
        sb.append(')');
        return sb.toString();
      }
    };
  }
View Full Code Here

    return "ghhsin";
  }

  @Override
  public DocValues getValues(Map context, IndexReader reader) throws IOException {
    final DocValues gh1DV = geoHash1.getValues(context, reader);
    final DocValues gh2DV = geoHash2.getValues(context, reader);

    return new DocValues() {
      @Override
      public float floatVal(int doc) {
        return (float) doubleVal(doc);
      }

      @Override
      public int intVal(int doc) {
        return (int) doubleVal(doc);
      }

      @Override
      public long longVal(int doc) {
        return (long) doubleVal(doc);
      }

      @Override
      public double doubleVal(int doc) {
        return distance(doc, gh1DV, gh2DV);
      }

      @Override
      public String strVal(int doc) {
        return Double.toString(doubleVal(doc));
      }

      @Override
      public String toString(int doc) {
        StringBuilder sb = new StringBuilder();
        sb.append(name()).append('(');
        sb.append(gh1DV.toString(doc)).append(',').append(gh2DV.toString(doc));
        sb.append(')');
        return sb.toString();
      }
    };
  }
View Full Code Here

TOP

Related Classes of org.apache.solr.search.function.DocValues

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.