static {
      FIELD_TYPE.setIndexOptions(IndexOptions.DOCS);
      FIELD_TYPE.setTokenized(false);
      FIELD_TYPE.setStored(true);
      FIELD_TYPE.setOmitNorms(true);
      FIELD_TYPE.setIndexAnalyzer(Lucene.KEYWORD_ANALYZER);
      FIELD_TYPE.setSearchAnalyzer(Lucene.KEYWORD_ANALYZER);
      FIELD_TYPE.setName(NAME);
      FIELD_TYPE.freeze();

      JOIN_FIELD_TYPE.setHasDocValues(true);
      JOIN_FIELD_TYPE.setDocValuesType(DocValuesType.SORTED);
      JOIN_FIELD_TYPE.freeze();
    }
Exemplo n.º 2
0
    static {
      FIELD_TYPE.setIndexOptions(IndexOptions.DOCS);
      FIELD_TYPE.setTokenized(false);
      FIELD_TYPE.setStored(true);
      FIELD_TYPE.setOmitNorms(true);
      FIELD_TYPE.setIndexAnalyzer(Lucene.KEYWORD_ANALYZER);
      FIELD_TYPE.setSearchAnalyzer(Lucene.KEYWORD_ANALYZER);
      FIELD_TYPE.setNames(new MappedFieldType.Names(NAME));
      FIELD_TYPE.freeze();

      NESTED_FIELD_TYPE = FIELD_TYPE.clone();
      NESTED_FIELD_TYPE.setStored(false);
      NESTED_FIELD_TYPE.freeze();
    }
 private static MappedFieldType joinFieldTypeForParentType(
     String parentType, Settings indexSettings) {
   MappedFieldType parentJoinFieldType = Defaults.JOIN_FIELD_TYPE.clone();
   parentJoinFieldType.setName(joinField(parentType));
   parentJoinFieldType.freeze();
   return parentJoinFieldType;
 }
Exemplo n.º 4
0
    @Override
    public void freeze() {
      super.freeze();
      // This is a bit hackish: we need to setup the spatial tree and strategies once the field name
      // is set, which
      // must be by the time freeze is called.
      SpatialPrefixTree prefixTree;
      if ("geohash".equals(tree)) {
        prefixTree =
            new GeohashPrefixTree(
                ShapeBuilder.SPATIAL_CONTEXT,
                getLevels(treeLevels, precisionInMeters, Defaults.GEOHASH_LEVELS, true));
      } else if ("legacyquadtree".equals(tree)) {
        prefixTree =
            new QuadPrefixTree(
                ShapeBuilder.SPATIAL_CONTEXT,
                getLevels(treeLevels, precisionInMeters, Defaults.QUADTREE_LEVELS, false));
      } else if ("quadtree".equals(tree)) {
        prefixTree =
            new PackedQuadPrefixTree(
                ShapeBuilder.SPATIAL_CONTEXT,
                getLevels(treeLevels, precisionInMeters, Defaults.QUADTREE_LEVELS, false));
      } else {
        throw new IllegalArgumentException("Unknown prefix tree type [" + tree + "]");
      }

      recursiveStrategy = new RecursivePrefixTreeStrategy(prefixTree, names().indexName());
      recursiveStrategy.setDistErrPct(distanceErrorPct());
      recursiveStrategy.setPruneLeafyBranches(false);
      termStrategy = new TermQueryPrefixTreeStrategy(prefixTree, names().indexName());
      termStrategy.setDistErrPct(distanceErrorPct());
      defaultStrategy = resolveStrategy(strategyName);
      defaultStrategy.setPointsOnly(pointsOnly);
    }
Exemplo n.º 5
0
 static {
   TTL_FIELD_TYPE.setIndexOptions(IndexOptions.DOCS);
   TTL_FIELD_TYPE.setStored(true);
   TTL_FIELD_TYPE.setTokenized(false);
   TTL_FIELD_TYPE.setNumericPrecisionStep(Defaults.PRECISION_STEP_64_BIT);
   TTL_FIELD_TYPE.setNames(new MappedFieldType.Names(NAME));
   TTL_FIELD_TYPE.freeze();
 }
 static {
   FIELD_TYPE.setOmitNorms(true);
   FIELD_TYPE.setIndexOptions(IndexOptions.DOCS);
   FIELD_TYPE.setTokenized(false);
   FIELD_TYPE.setIndexAnalyzer(Lucene.KEYWORD_ANALYZER);
   FIELD_TYPE.setSearchAnalyzer(Lucene.KEYWORD_ANALYZER);
   FIELD_TYPE.freeze();
 }
Exemplo n.º 7
0
 static {
   FIELD_TYPE.setIndexOptions(IndexOptions.NONE);
   FIELD_TYPE.setStored(false);
   FIELD_TYPE.setOmitNorms(true);
   FIELD_TYPE.setIndexAnalyzer(Lucene.KEYWORD_ANALYZER);
   FIELD_TYPE.setSearchAnalyzer(Lucene.KEYWORD_ANALYZER);
   FIELD_TYPE.setNames(new MappedFieldType.Names(NAME));
   FIELD_TYPE.freeze();
 }
 static {
   SIZE_FIELD_TYPE.setStored(true);
   SIZE_FIELD_TYPE.setNumericPrecisionStep(Defaults.PRECISION_STEP_32_BIT);
   SIZE_FIELD_TYPE.setName(NAME);
   SIZE_FIELD_TYPE.setIndexAnalyzer(
       NumericIntegerAnalyzer.buildNamedAnalyzer(Defaults.PRECISION_STEP_32_BIT));
   SIZE_FIELD_TYPE.setSearchAnalyzer(
       NumericIntegerAnalyzer.buildNamedAnalyzer(Integer.MAX_VALUE));
   SIZE_FIELD_TYPE.freeze();
 }
Exemplo n.º 9
0
 static {
   // setting name here is a hack so freeze can be called...instead all these options should be
   // moved to the default ctor for GeoShapeFieldType, and defaultFieldType() should be removed
   // from mappers...
   FIELD_TYPE.setNames(new MappedFieldType.Names("DoesNotExist"));
   FIELD_TYPE.setIndexOptions(IndexOptions.DOCS);
   FIELD_TYPE.setTokenized(false);
   FIELD_TYPE.setStored(false);
   FIELD_TYPE.setStoreTermVectors(false);
   FIELD_TYPE.setOmitNorms(true);
   FIELD_TYPE.freeze();
 }
 static {
   FIELD_TYPE.freeze();
 }
 static {
   FIELD_TYPE.setIndexOptions(IndexOptions.DOCS);
   FIELD_TYPE.setTokenized(false);
   FIELD_TYPE.setOmitNorms(true);
   FIELD_TYPE.freeze();
 }
Exemplo n.º 12
0
    @Override
    public AttachmentMapper build(BuilderContext context) {
      ContentPath.Type origPathType = context.path().pathType();
      context.path().pathType(pathType);

      FieldMapper contentMapper;
      if (context.indexCreatedVersion().before(Version.V_2_0_0_beta1)) {
        // old behavior, we need the content to be indexed under the attachment field name
        if (contentBuilder instanceof FieldMapper.Builder == false) {
          throw new IllegalStateException("content field for attachment must be a field mapper");
        }
        ((FieldMapper.Builder) contentBuilder).indexName(name);
        contentBuilder.name = name + "." + FieldNames.CONTENT;
        contentMapper = (FieldMapper) contentBuilder.build(context);
        context.path().add(name);
      } else {
        context.path().add(name);
        contentMapper = (FieldMapper) contentBuilder.build(context);
      }

      FieldMapper dateMapper = (FieldMapper) dateBuilder.build(context);
      FieldMapper authorMapper = (FieldMapper) authorBuilder.build(context);
      FieldMapper titleMapper = (FieldMapper) titleBuilder.build(context);
      FieldMapper nameMapper = (FieldMapper) nameBuilder.build(context);
      FieldMapper keywordsMapper = (FieldMapper) keywordsBuilder.build(context);
      FieldMapper contentTypeMapper = (FieldMapper) contentTypeBuilder.build(context);
      FieldMapper contentLength = (FieldMapper) contentLengthBuilder.build(context);
      FieldMapper language = (FieldMapper) languageBuilder.build(context);
      context.path().remove();

      context.path().pathType(origPathType);

      if (defaultIndexedChars == null && context.indexSettings() != null) {
        defaultIndexedChars =
            context.indexSettings().getAsInt("index.mapping.attachment.indexed_chars", 100000);
      }
      if (defaultIndexedChars == null) {
        defaultIndexedChars = 100000;
      }

      if (ignoreErrors == null && context.indexSettings() != null) {
        ignoreErrors =
            context
                .indexSettings()
                .getAsBoolean("index.mapping.attachment.ignore_errors", Boolean.TRUE);
      }
      if (ignoreErrors == null) {
        ignoreErrors = Boolean.TRUE;
      }

      if (langDetect == null && context.indexSettings() != null) {
        langDetect =
            context
                .indexSettings()
                .getAsBoolean("index.mapping.attachment.detect_language", Boolean.FALSE);
      }
      if (langDetect == null) {
        langDetect = Boolean.FALSE;
      }
      MappedFieldType defaultFieldType = Defaults.FIELD_TYPE.clone();
      if (this.fieldType.indexOptions() != IndexOptions.NONE && !this.fieldType.tokenized()) {
        defaultFieldType.setOmitNorms(true);
        defaultFieldType.setIndexOptions(IndexOptions.DOCS);
        if (!this.omitNormsSet && this.fieldType.boost() == 1.0F) {
          this.fieldType.setOmitNorms(true);
        }

        if (!this.indexOptionsSet) {
          this.fieldType.setIndexOptions(IndexOptions.DOCS);
        }
      }

      defaultFieldType.freeze();
      this.setupFieldType(context);
      return new AttachmentMapper(
          name,
          fieldType,
          defaultFieldType,
          pathType,
          defaultIndexedChars,
          ignoreErrors,
          langDetect,
          contentMapper,
          dateMapper,
          titleMapper,
          nameMapper,
          authorMapper,
          keywordsMapper,
          contentTypeMapper,
          contentLength,
          language,
          context.indexSettings(),
          multiFieldsBuilder.build(this, context),
          copyTo);
    }