Be stricter about parsing boolean values in mappings.
Parsing is currently very lenient, which has the bad side-effect that if you have a typo and pass eg. `store: fasle` this will actually be interpreted as `store: true`. Since mappings can't be changed after the fact, it is quite bad if it happens on an index that already contains data. Note that this does not cover all settings that accept a boolean, but since the PR was quite hard to build and already covers some main settirgs like `store` or `doc_values` this would already be a good incremental improvement.
This commit is contained in:
parent
f959d39ac3
commit
35709f62b6
|
@ -45,7 +45,7 @@ import static org.elasticsearch.common.Strings.hasLength;
|
||||||
import static org.elasticsearch.common.settings.Settings.Builder.EMPTY_SETTINGS;
|
import static org.elasticsearch.common.settings.Settings.Builder.EMPTY_SETTINGS;
|
||||||
import static org.elasticsearch.common.settings.Settings.readSettingsFromStream;
|
import static org.elasticsearch.common.settings.Settings.readSettingsFromStream;
|
||||||
import static org.elasticsearch.common.settings.Settings.writeSettingsToStream;
|
import static org.elasticsearch.common.settings.Settings.writeSettingsToStream;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create snapshot request
|
* Create snapshot request
|
||||||
|
@ -379,14 +379,14 @@ public class CreateSnapshotRequest extends MasterNodeRequest<CreateSnapshotReque
|
||||||
throw new IllegalArgumentException("malformed indices section, should be an array of strings");
|
throw new IllegalArgumentException("malformed indices section, should be an array of strings");
|
||||||
}
|
}
|
||||||
} else if (name.equals("partial")) {
|
} else if (name.equals("partial")) {
|
||||||
partial(nodeBooleanValue(entry.getValue()));
|
partial(lenientNodeBooleanValue(entry.getValue()));
|
||||||
} else if (name.equals("settings")) {
|
} else if (name.equals("settings")) {
|
||||||
if (!(entry.getValue() instanceof Map)) {
|
if (!(entry.getValue() instanceof Map)) {
|
||||||
throw new IllegalArgumentException("malformed settings section, should indices an inner object");
|
throw new IllegalArgumentException("malformed settings section, should indices an inner object");
|
||||||
}
|
}
|
||||||
settings((Map<String, Object>) entry.getValue());
|
settings((Map<String, Object>) entry.getValue());
|
||||||
} else if (name.equals("include_global_state")) {
|
} else if (name.equals("include_global_state")) {
|
||||||
includeGlobalState = nodeBooleanValue(entry.getValue());
|
includeGlobalState = lenientNodeBooleanValue(entry.getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
indicesOptions(IndicesOptions.fromMap((Map<String, Object>) source, IndicesOptions.lenientExpandOpen()));
|
indicesOptions(IndicesOptions.fromMap((Map<String, Object>) source, IndicesOptions.lenientExpandOpen()));
|
||||||
|
|
|
@ -43,7 +43,7 @@ import static org.elasticsearch.common.Strings.hasLength;
|
||||||
import static org.elasticsearch.common.settings.Settings.Builder.EMPTY_SETTINGS;
|
import static org.elasticsearch.common.settings.Settings.Builder.EMPTY_SETTINGS;
|
||||||
import static org.elasticsearch.common.settings.Settings.readSettingsFromStream;
|
import static org.elasticsearch.common.settings.Settings.readSettingsFromStream;
|
||||||
import static org.elasticsearch.common.settings.Settings.writeSettingsToStream;
|
import static org.elasticsearch.common.settings.Settings.writeSettingsToStream;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restore snapshot request
|
* Restore snapshot request
|
||||||
|
@ -498,16 +498,16 @@ public class RestoreSnapshotRequest extends MasterNodeRequest<RestoreSnapshotReq
|
||||||
throw new IllegalArgumentException("malformed indices section, should be an array of strings");
|
throw new IllegalArgumentException("malformed indices section, should be an array of strings");
|
||||||
}
|
}
|
||||||
} else if (name.equals("partial")) {
|
} else if (name.equals("partial")) {
|
||||||
partial(nodeBooleanValue(entry.getValue()));
|
partial(lenientNodeBooleanValue(entry.getValue()));
|
||||||
} else if (name.equals("settings")) {
|
} else if (name.equals("settings")) {
|
||||||
if (!(entry.getValue() instanceof Map)) {
|
if (!(entry.getValue() instanceof Map)) {
|
||||||
throw new IllegalArgumentException("malformed settings section");
|
throw new IllegalArgumentException("malformed settings section");
|
||||||
}
|
}
|
||||||
settings((Map<String, Object>) entry.getValue());
|
settings((Map<String, Object>) entry.getValue());
|
||||||
} else if (name.equals("include_global_state")) {
|
} else if (name.equals("include_global_state")) {
|
||||||
includeGlobalState = nodeBooleanValue(entry.getValue());
|
includeGlobalState = lenientNodeBooleanValue(entry.getValue());
|
||||||
} else if (name.equals("include_aliases")) {
|
} else if (name.equals("include_aliases")) {
|
||||||
includeAliases = nodeBooleanValue(entry.getValue());
|
includeAliases = lenientNodeBooleanValue(entry.getValue());
|
||||||
} else if (name.equals("rename_pattern")) {
|
} else if (name.equals("rename_pattern")) {
|
||||||
if (entry.getValue() instanceof String) {
|
if (entry.getValue() instanceof String) {
|
||||||
renamePattern((String) entry.getValue());
|
renamePattern((String) entry.getValue());
|
||||||
|
|
|
@ -26,7 +26,7 @@ import org.elasticsearch.rest.RestRequest;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeStringArrayValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeStringArrayValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -195,8 +195,8 @@ public class IndicesOptions {
|
||||||
|
|
||||||
//note that allowAliasesToMultipleIndices is not exposed, always true (only for internal use)
|
//note that allowAliasesToMultipleIndices is not exposed, always true (only for internal use)
|
||||||
return fromOptions(
|
return fromOptions(
|
||||||
nodeBooleanValue(ignoreUnavailableString, defaultSettings.ignoreUnavailable()),
|
lenientNodeBooleanValue(ignoreUnavailableString, defaultSettings.ignoreUnavailable()),
|
||||||
nodeBooleanValue(allowNoIndicesString, defaultSettings.allowNoIndices()),
|
lenientNodeBooleanValue(allowNoIndicesString, defaultSettings.allowNoIndices()),
|
||||||
expandWildcardsOpen,
|
expandWildcardsOpen,
|
||||||
expandWildcardsClosed,
|
expandWildcardsClosed,
|
||||||
defaultSettings.allowAliasesToMultipleIndices(),
|
defaultSettings.allowAliasesToMultipleIndices(),
|
||||||
|
|
|
@ -41,7 +41,7 @@ import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapping configuration for a type.
|
* Mapping configuration for a type.
|
||||||
|
@ -237,7 +237,7 @@ public class MappingMetaData extends AbstractDiffable<MappingMetaData> {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("required")) {
|
if (fieldName.equals("required")) {
|
||||||
required = nodeBooleanValue(fieldNode);
|
required = lenientNodeBooleanValue(fieldNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.routing = new Routing(required);
|
this.routing = new Routing(required);
|
||||||
|
@ -254,13 +254,13 @@ public class MappingMetaData extends AbstractDiffable<MappingMetaData> {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("enabled")) {
|
if (fieldName.equals("enabled")) {
|
||||||
enabled = nodeBooleanValue(fieldNode);
|
enabled = lenientNodeBooleanValue(fieldNode);
|
||||||
} else if (fieldName.equals("format")) {
|
} else if (fieldName.equals("format")) {
|
||||||
format = fieldNode.toString();
|
format = fieldNode.toString();
|
||||||
} else if (fieldName.equals("default") && fieldNode != null) {
|
} else if (fieldName.equals("default") && fieldNode != null) {
|
||||||
defaultTimestamp = fieldNode.toString();
|
defaultTimestamp = fieldNode.toString();
|
||||||
} else if (fieldName.equals("ignore_missing")) {
|
} else if (fieldName.equals("ignore_missing")) {
|
||||||
ignoreMissing = nodeBooleanValue(fieldNode);
|
ignoreMissing = lenientNodeBooleanValue(fieldNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.timestamp = new Timestamp(enabled, format, defaultTimestamp, ignoreMissing);
|
this.timestamp = new Timestamp(enabled, format, defaultTimestamp, ignoreMissing);
|
||||||
|
|
|
@ -347,14 +347,20 @@ public class XContentMapValues {
|
||||||
return Long.parseLong(node.toString());
|
return Long.parseLong(node.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean nodeBooleanValue(Object node, boolean defaultValue) {
|
/**
|
||||||
|
* This method is very lenient, use {@link #nodeBooleanValue} instead.
|
||||||
|
*/
|
||||||
|
public static boolean lenientNodeBooleanValue(Object node, boolean defaultValue) {
|
||||||
if (node == null) {
|
if (node == null) {
|
||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
return nodeBooleanValue(node);
|
return lenientNodeBooleanValue(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean nodeBooleanValue(Object node) {
|
/**
|
||||||
|
* This method is very lenient, use {@link #nodeBooleanValue} instead.
|
||||||
|
*/
|
||||||
|
public static boolean lenientNodeBooleanValue(Object node) {
|
||||||
if (node instanceof Boolean) {
|
if (node instanceof Boolean) {
|
||||||
return (Boolean) node;
|
return (Boolean) node;
|
||||||
}
|
}
|
||||||
|
@ -365,6 +371,17 @@ public class XContentMapValues {
|
||||||
return !(value.equals("false") || value.equals("0") || value.equals("off"));
|
return !(value.equals("false") || value.equals("0") || value.equals("off"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean nodeBooleanValue(Object node) {
|
||||||
|
switch (node.toString()) {
|
||||||
|
case "true":
|
||||||
|
return true;
|
||||||
|
case "false":
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
throw new IllegalArgumentException("Can't parse boolean value [" + node + "], expected [true] or [false]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static TimeValue nodeTimeValue(Object node, TimeValue defaultValue) {
|
public static TimeValue nodeTimeValue(Object node, TimeValue defaultValue) {
|
||||||
if (node == null) {
|
if (node == null) {
|
||||||
return defaultValue;
|
return defaultValue;
|
||||||
|
|
|
@ -40,7 +40,7 @@ import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.index.mapper.MapperBuilders.booleanField;
|
import static org.elasticsearch.index.mapper.MapperBuilders.booleanField;
|
||||||
import static org.elasticsearch.index.mapper.core.TypeParsers.parseField;
|
import static org.elasticsearch.index.mapper.core.TypeParsers.parseField;
|
||||||
import static org.elasticsearch.index.mapper.core.TypeParsers.parseMultiField;
|
import static org.elasticsearch.index.mapper.core.TypeParsers.parseMultiField;
|
||||||
|
@ -106,7 +106,7 @@ public class BooleanFieldMapper extends FieldMapper {
|
||||||
if (propNode == null) {
|
if (propNode == null) {
|
||||||
throw new MapperParsingException("Property [null_value] cannot be null.");
|
throw new MapperParsingException("Property [null_value] cannot be null.");
|
||||||
}
|
}
|
||||||
builder.nullValue(nodeBooleanValue(propNode));
|
builder.nullValue(lenientNodeBooleanValue(propNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (parseMultiField(builder, name, parserContext, propName, propNode)) {
|
} else if (parseMultiField(builder, name, parserContext, propName, propNode)) {
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
|
|
|
@ -28,6 +28,7 @@ import org.elasticsearch.common.joda.Joda;
|
||||||
import org.elasticsearch.common.logging.ESLoggerFactory;
|
import org.elasticsearch.common.logging.ESLoggerFactory;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.settings.loader.SettingsLoader;
|
import org.elasticsearch.common.settings.loader.SettingsLoader;
|
||||||
|
import org.elasticsearch.common.xcontent.support.XContentMapValues;
|
||||||
import org.elasticsearch.index.analysis.NamedAnalyzer;
|
import org.elasticsearch.index.analysis.NamedAnalyzer;
|
||||||
import org.elasticsearch.index.mapper.DocumentMapperParser;
|
import org.elasticsearch.index.mapper.DocumentMapperParser;
|
||||||
import org.elasticsearch.index.mapper.FieldMapper;
|
import org.elasticsearch.index.mapper.FieldMapper;
|
||||||
|
@ -45,7 +46,7 @@ import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.isArray;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.isArray;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeFloatValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeFloatValue;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeIntegerValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeIntegerValue;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeMapValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeMapValue;
|
||||||
|
@ -62,6 +63,14 @@ public class TypeParsers {
|
||||||
public static final String INDEX_OPTIONS_POSITIONS = "positions";
|
public static final String INDEX_OPTIONS_POSITIONS = "positions";
|
||||||
public static final String INDEX_OPTIONS_OFFSETS = "offsets";
|
public static final String INDEX_OPTIONS_OFFSETS = "offsets";
|
||||||
|
|
||||||
|
private static boolean nodeBooleanValue(Object node, Mapper.TypeParser.ParserContext parserContext) {
|
||||||
|
if (parserContext.indexVersionCreated().onOrAfter(Version.V_3_0_0)) {
|
||||||
|
return XContentMapValues.nodeBooleanValue(node);
|
||||||
|
} else {
|
||||||
|
return XContentMapValues.lenientNodeBooleanValue(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void parseNumberField(NumberFieldMapper.Builder builder, String name, Map<String, Object> numberNode, Mapper.TypeParser.ParserContext parserContext) {
|
public static void parseNumberField(NumberFieldMapper.Builder builder, String name, Map<String, Object> numberNode, Mapper.TypeParser.ParserContext parserContext) {
|
||||||
parseField(builder, name, numberNode, parserContext);
|
parseField(builder, name, numberNode, parserContext);
|
||||||
for (Iterator<Map.Entry<String, Object>> iterator = numberNode.entrySet().iterator(); iterator.hasNext();) {
|
for (Iterator<Map.Entry<String, Object>> iterator = numberNode.entrySet().iterator(); iterator.hasNext();) {
|
||||||
|
@ -72,13 +81,13 @@ public class TypeParsers {
|
||||||
builder.precisionStep(nodeIntegerValue(propNode));
|
builder.precisionStep(nodeIntegerValue(propNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("ignore_malformed")) {
|
} else if (propName.equals("ignore_malformed")) {
|
||||||
builder.ignoreMalformed(nodeBooleanValue(propNode));
|
builder.ignoreMalformed(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("coerce")) {
|
} else if (propName.equals("coerce")) {
|
||||||
builder.coerce(nodeBooleanValue(propNode));
|
builder.coerce(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("omit_norms")) {
|
} else if (propName.equals("omit_norms")) {
|
||||||
builder.omitNorms(nodeBooleanValue(propNode));
|
builder.omitNorms(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("similarity")) {
|
} else if (propName.equals("similarity")) {
|
||||||
SimilarityProvider similarityProvider = resolveSimilarity(parserContext, name, propNode.toString());
|
SimilarityProvider similarityProvider = resolveSimilarity(parserContext, name, propNode.toString());
|
||||||
|
@ -102,16 +111,16 @@ public class TypeParsers {
|
||||||
parseTermVector(name, propNode.toString(), builder);
|
parseTermVector(name, propNode.toString(), builder);
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("store_term_vectors")) {
|
} else if (propName.equals("store_term_vectors")) {
|
||||||
builder.storeTermVectors(nodeBooleanValue(propNode));
|
builder.storeTermVectors(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("store_term_vector_offsets")) {
|
} else if (propName.equals("store_term_vector_offsets")) {
|
||||||
builder.storeTermVectorOffsets(nodeBooleanValue(propNode));
|
builder.storeTermVectorOffsets(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("store_term_vector_positions")) {
|
} else if (propName.equals("store_term_vector_positions")) {
|
||||||
builder.storeTermVectorPositions(nodeBooleanValue(propNode));
|
builder.storeTermVectorPositions(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("store_term_vector_payloads")) {
|
} else if (propName.equals("store_term_vector_payloads")) {
|
||||||
builder.storeTermVectorPayloads(nodeBooleanValue(propNode));
|
builder.storeTermVectorPayloads(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("analyzer")) {
|
} else if (propName.equals("analyzer")) {
|
||||||
NamedAnalyzer analyzer = parserContext.analysisService().analyzer(propNode.toString());
|
NamedAnalyzer analyzer = parserContext.analysisService().analyzer(propNode.toString());
|
||||||
|
@ -160,19 +169,19 @@ public class TypeParsers {
|
||||||
final String propName = Strings.toUnderscoreCase(entry.getKey());
|
final String propName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
final Object propNode = entry.getValue();
|
final Object propNode = entry.getValue();
|
||||||
if (propName.equals("store")) {
|
if (propName.equals("store")) {
|
||||||
builder.store(parseStore(name, propNode.toString()));
|
builder.store(parseStore(name, propNode.toString(), parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("index")) {
|
} else if (propName.equals("index")) {
|
||||||
parseIndex(name, propNode.toString(), builder);
|
parseIndex(name, propNode.toString(), builder);
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals(DOC_VALUES)) {
|
} else if (propName.equals(DOC_VALUES)) {
|
||||||
builder.docValues(nodeBooleanValue(propNode));
|
builder.docValues(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("boost")) {
|
} else if (propName.equals("boost")) {
|
||||||
builder.boost(nodeFloatValue(propNode));
|
builder.boost(nodeFloatValue(propNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("omit_norms")) {
|
} else if (propName.equals("omit_norms")) {
|
||||||
builder.omitNorms(nodeBooleanValue(propNode));
|
builder.omitNorms(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("norms")) {
|
} else if (propName.equals("norms")) {
|
||||||
final Map<String, Object> properties = nodeMapValue(propNode, "norms");
|
final Map<String, Object> properties = nodeMapValue(propNode, "norms");
|
||||||
|
@ -181,7 +190,7 @@ public class TypeParsers {
|
||||||
final String propName2 = Strings.toUnderscoreCase(entry2.getKey());
|
final String propName2 = Strings.toUnderscoreCase(entry2.getKey());
|
||||||
final Object propNode2 = entry2.getValue();
|
final Object propNode2 = entry2.getValue();
|
||||||
if (propName2.equals("enabled")) {
|
if (propName2.equals("enabled")) {
|
||||||
builder.omitNorms(!nodeBooleanValue(propNode2));
|
builder.omitNorms(!lenientNodeBooleanValue(propNode2));
|
||||||
propsIterator.remove();
|
propsIterator.remove();
|
||||||
} else if (propName2.equals(Loading.KEY)) {
|
} else if (propName2.equals(Loading.KEY)) {
|
||||||
builder.normsLoading(Loading.parse(nodeStringValue(propNode2, null), null));
|
builder.normsLoading(Loading.parse(nodeStringValue(propNode2, null), null));
|
||||||
|
@ -194,7 +203,7 @@ public class TypeParsers {
|
||||||
builder.indexOptions(nodeIndexOptionValue(propNode));
|
builder.indexOptions(nodeIndexOptionValue(propNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("include_in_all")) {
|
} else if (propName.equals("include_in_all")) {
|
||||||
builder.includeInAll(nodeBooleanValue(propNode));
|
builder.includeInAll(nodeBooleanValue(propNode, parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("similarity")) {
|
} else if (propName.equals("similarity")) {
|
||||||
SimilarityProvider similarityProvider = resolveSimilarity(parserContext, name, propNode.toString());
|
SimilarityProvider similarityProvider = resolveSimilarity(parserContext, name, propNode.toString());
|
||||||
|
@ -334,13 +343,17 @@ public class TypeParsers {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean parseStore(String fieldName, String store) throws MapperParsingException {
|
public static boolean parseStore(String fieldName, String store, Mapper.TypeParser.ParserContext parserContext) throws MapperParsingException {
|
||||||
|
if (parserContext.indexVersionCreated().onOrAfter(Version.V_3_0_0)) {
|
||||||
|
return XContentMapValues.nodeBooleanValue(store);
|
||||||
|
} else {
|
||||||
if ("no".equals(store)) {
|
if ("no".equals(store)) {
|
||||||
return false;
|
return false;
|
||||||
} else if ("yes".equals(store)) {
|
} else if ("yes".equals(store)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return nodeBooleanValue(store);
|
return lenientNodeBooleanValue(store);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -199,17 +199,17 @@ public abstract class BaseGeoPointFieldMapper extends FieldMapper implements Arr
|
||||||
String propName = Strings.toUnderscoreCase(entry.getKey());
|
String propName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object propNode = entry.getValue();
|
Object propNode = entry.getValue();
|
||||||
if (propName.equals("lat_lon")) {
|
if (propName.equals("lat_lon")) {
|
||||||
builder.enableLatLon(XContentMapValues.nodeBooleanValue(propNode));
|
builder.enableLatLon(XContentMapValues.lenientNodeBooleanValue(propNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("precision_step")) {
|
} else if (propName.equals("precision_step")) {
|
||||||
builder.precisionStep(XContentMapValues.nodeIntegerValue(propNode));
|
builder.precisionStep(XContentMapValues.nodeIntegerValue(propNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("geohash")) {
|
} else if (propName.equals("geohash")) {
|
||||||
builder.enableGeoHash(XContentMapValues.nodeBooleanValue(propNode));
|
builder.enableGeoHash(XContentMapValues.lenientNodeBooleanValue(propNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals("geohash_prefix")) {
|
} else if (propName.equals("geohash_prefix")) {
|
||||||
builder.geoHashPrefix(XContentMapValues.nodeBooleanValue(propNode));
|
builder.geoHashPrefix(XContentMapValues.lenientNodeBooleanValue(propNode));
|
||||||
if (XContentMapValues.nodeBooleanValue(propNode)) {
|
if (XContentMapValues.lenientNodeBooleanValue(propNode)) {
|
||||||
builder.enableGeoHash(true);
|
builder.enableGeoHash(true);
|
||||||
}
|
}
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
|
@ -221,7 +221,7 @@ public abstract class BaseGeoPointFieldMapper extends FieldMapper implements Arr
|
||||||
}
|
}
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (propName.equals(Names.IGNORE_MALFORMED)) {
|
} else if (propName.equals(Names.IGNORE_MALFORMED)) {
|
||||||
builder.ignoreMalformed(XContentMapValues.nodeBooleanValue(propNode));
|
builder.ignoreMalformed(XContentMapValues.lenientNodeBooleanValue(propNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (parseMultiField(builder, name, parserContext, propName, propNode)) {
|
} else if (parseMultiField(builder, name, parserContext, propName, propNode)) {
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
|
|
|
@ -132,7 +132,7 @@ public class GeoPointFieldMapperLegacy extends BaseGeoPointFieldMapper implement
|
||||||
String propName = Strings.toUnderscoreCase(entry.getKey());
|
String propName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object propNode = entry.getValue();
|
Object propNode = entry.getValue();
|
||||||
if (propName.equals(Names.COERCE)) {
|
if (propName.equals(Names.COERCE)) {
|
||||||
builder.coerce = XContentMapValues.nodeBooleanValue(propNode);
|
builder.coerce = XContentMapValues.lenientNodeBooleanValue(propNode);
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.index.mapper.MapperBuilders.geoShapeField;
|
import static org.elasticsearch.index.mapper.MapperBuilders.geoShapeField;
|
||||||
|
|
||||||
|
|
||||||
|
@ -184,11 +184,11 @@ public class GeoShapeFieldMapper extends FieldMapper {
|
||||||
builder.fieldType().setStrategyName(fieldNode.toString());
|
builder.fieldType().setStrategyName(fieldNode.toString());
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (Names.COERCE.equals(fieldName)) {
|
} else if (Names.COERCE.equals(fieldName)) {
|
||||||
builder.coerce(nodeBooleanValue(fieldNode));
|
builder.coerce(lenientNodeBooleanValue(fieldNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (Names.STRATEGY_POINTS_ONLY.equals(fieldName)
|
} else if (Names.STRATEGY_POINTS_ONLY.equals(fieldName)
|
||||||
&& builder.fieldType().strategyName.equals(SpatialStrategy.TERM.getStrategyName()) == false) {
|
&& builder.fieldType().strategyName.equals(SpatialStrategy.TERM.getStrategyName()) == false) {
|
||||||
builder.fieldType().setPointsOnly(XContentMapValues.nodeBooleanValue(fieldNode));
|
builder.fieldType().setPointsOnly(XContentMapValues.lenientNodeBooleanValue(fieldNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeMapValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeMapValue;
|
||||||
import static org.elasticsearch.index.mapper.core.TypeParsers.parseTextField;
|
import static org.elasticsearch.index.mapper.core.TypeParsers.parseTextField;
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ public class AllFieldMapper extends MetadataFieldMapper {
|
||||||
// the AllFieldMapper ctor in the builder since it is not valid. Here we validate
|
// the AllFieldMapper ctor in the builder since it is not valid. Here we validate
|
||||||
// the doc values settings (old and new) are rejected
|
// the doc values settings (old and new) are rejected
|
||||||
Object docValues = node.get("doc_values");
|
Object docValues = node.get("doc_values");
|
||||||
if (docValues != null && nodeBooleanValue(docValues)) {
|
if (docValues != null && lenientNodeBooleanValue(docValues)) {
|
||||||
throw new MapperParsingException("Field [" + name + "] is always tokenized and cannot have doc values");
|
throw new MapperParsingException("Field [" + name + "] is always tokenized and cannot have doc values");
|
||||||
}
|
}
|
||||||
// convoluted way of specifying doc values
|
// convoluted way of specifying doc values
|
||||||
|
@ -152,7 +152,7 @@ public class AllFieldMapper extends MetadataFieldMapper {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("enabled")) {
|
if (fieldName.equals("enabled")) {
|
||||||
builder.enabled(nodeBooleanValue(fieldNode) ? EnabledAttributeMapper.ENABLED : EnabledAttributeMapper.DISABLED);
|
builder.enabled(lenientNodeBooleanValue(fieldNode) ? EnabledAttributeMapper.ENABLED : EnabledAttributeMapper.DISABLED);
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A mapper that indexes the field names of a document under <code>_field_names</code>. This mapper is typically useful in order
|
* A mapper that indexes the field names of a document under <code>_field_names</code>. This mapper is typically useful in order
|
||||||
|
@ -112,7 +112,7 @@ public class FieldNamesFieldMapper extends MetadataFieldMapper {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("enabled")) {
|
if (fieldName.equals("enabled")) {
|
||||||
builder.enabled(nodeBooleanValue(fieldNode));
|
builder.enabled(lenientNodeBooleanValue(fieldNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -95,7 +95,7 @@ public class RoutingFieldMapper extends MetadataFieldMapper {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("required")) {
|
if (fieldName.equals("required")) {
|
||||||
builder.required(nodeBooleanValue(fieldNode));
|
builder.required(lenientNodeBooleanValue(fieldNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -122,7 +122,7 @@ public class SourceFieldMapper extends MetadataFieldMapper {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("enabled")) {
|
if (fieldName.equals("enabled")) {
|
||||||
builder.enabled(nodeBooleanValue(fieldNode));
|
builder.enabled(lenientNodeBooleanValue(fieldNode));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if ("format".equals(fieldName) && parserContext.indexVersionCreated().before(Version.V_3_0_0)) {
|
} else if ("format".equals(fieldName) && parserContext.indexVersionCreated().before(Version.V_3_0_0)) {
|
||||||
// ignore on old indices, reject on and after 3.0
|
// ignore on old indices, reject on and after 3.0
|
||||||
|
|
|
@ -44,7 +44,7 @@ import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeTimeValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeTimeValue;
|
||||||
|
|
||||||
public class TTLFieldMapper extends MetadataFieldMapper {
|
public class TTLFieldMapper extends MetadataFieldMapper {
|
||||||
|
@ -108,7 +108,7 @@ public class TTLFieldMapper extends MetadataFieldMapper {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("enabled")) {
|
if (fieldName.equals("enabled")) {
|
||||||
EnabledAttributeMapper enabledState = nodeBooleanValue(fieldNode) ? EnabledAttributeMapper.ENABLED : EnabledAttributeMapper.DISABLED;
|
EnabledAttributeMapper enabledState = lenientNodeBooleanValue(fieldNode) ? EnabledAttributeMapper.ENABLED : EnabledAttributeMapper.DISABLED;
|
||||||
builder.enabled(enabledState);
|
builder.enabled(enabledState);
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (fieldName.equals("default")) {
|
} else if (fieldName.equals("default")) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.index.mapper.core.TypeParsers.parseDateTimeFormatter;
|
import static org.elasticsearch.index.mapper.core.TypeParsers.parseDateTimeFormatter;
|
||||||
|
|
||||||
public class TimestampFieldMapper extends MetadataFieldMapper {
|
public class TimestampFieldMapper extends MetadataFieldMapper {
|
||||||
|
@ -134,7 +134,7 @@ public class TimestampFieldMapper extends MetadataFieldMapper {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("enabled")) {
|
if (fieldName.equals("enabled")) {
|
||||||
EnabledAttributeMapper enabledState = nodeBooleanValue(fieldNode) ? EnabledAttributeMapper.ENABLED : EnabledAttributeMapper.DISABLED;
|
EnabledAttributeMapper enabledState = lenientNodeBooleanValue(fieldNode) ? EnabledAttributeMapper.ENABLED : EnabledAttributeMapper.DISABLED;
|
||||||
builder.enabled(enabledState);
|
builder.enabled(enabledState);
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (fieldName.equals("format")) {
|
} else if (fieldName.equals("format")) {
|
||||||
|
@ -149,7 +149,7 @@ public class TimestampFieldMapper extends MetadataFieldMapper {
|
||||||
}
|
}
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (fieldName.equals("ignore_missing")) {
|
} else if (fieldName.equals("ignore_missing")) {
|
||||||
ignoreMissing = nodeBooleanValue(fieldNode);
|
ignoreMissing = lenientNodeBooleanValue(fieldNode);
|
||||||
builder.ignoreMissing(ignoreMissing);
|
builder.ignoreMissing(ignoreMissing);
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.index.mapper.MapperBuilders.object;
|
import static org.elasticsearch.index.mapper.MapperBuilders.object;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -191,11 +191,11 @@ public class ObjectMapper extends Mapper implements AllFieldMapper.IncludeInAll,
|
||||||
if (value.equalsIgnoreCase("strict")) {
|
if (value.equalsIgnoreCase("strict")) {
|
||||||
builder.dynamic(Dynamic.STRICT);
|
builder.dynamic(Dynamic.STRICT);
|
||||||
} else {
|
} else {
|
||||||
builder.dynamic(nodeBooleanValue(fieldNode) ? Dynamic.TRUE : Dynamic.FALSE);
|
builder.dynamic(lenientNodeBooleanValue(fieldNode) ? Dynamic.TRUE : Dynamic.FALSE);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else if (fieldName.equals("enabled")) {
|
} else if (fieldName.equals("enabled")) {
|
||||||
builder.enabled(nodeBooleanValue(fieldNode));
|
builder.enabled(lenientNodeBooleanValue(fieldNode));
|
||||||
return true;
|
return true;
|
||||||
} else if (fieldName.equals("properties")) {
|
} else if (fieldName.equals("properties")) {
|
||||||
if (fieldNode instanceof Collection && ((Collection) fieldNode).isEmpty()) {
|
if (fieldNode instanceof Collection && ((Collection) fieldNode).isEmpty()) {
|
||||||
|
@ -207,7 +207,7 @@ public class ObjectMapper extends Mapper implements AllFieldMapper.IncludeInAll,
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else if (fieldName.equals("include_in_all")) {
|
} else if (fieldName.equals("include_in_all")) {
|
||||||
builder.includeInAll(nodeBooleanValue(fieldNode));
|
builder.includeInAll(lenientNodeBooleanValue(fieldNode));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -230,12 +230,12 @@ public class ObjectMapper extends Mapper implements AllFieldMapper.IncludeInAll,
|
||||||
}
|
}
|
||||||
fieldNode = node.get("include_in_parent");
|
fieldNode = node.get("include_in_parent");
|
||||||
if (fieldNode != null) {
|
if (fieldNode != null) {
|
||||||
nestedIncludeInParent = nodeBooleanValue(fieldNode);
|
nestedIncludeInParent = lenientNodeBooleanValue(fieldNode);
|
||||||
node.remove("include_in_parent");
|
node.remove("include_in_parent");
|
||||||
}
|
}
|
||||||
fieldNode = node.get("include_in_root");
|
fieldNode = node.get("include_in_root");
|
||||||
if (fieldNode != null) {
|
if (fieldNode != null) {
|
||||||
nestedIncludeInRoot = nodeBooleanValue(fieldNode);
|
nestedIncludeInRoot = lenientNodeBooleanValue(fieldNode);
|
||||||
node.remove("include_in_root");
|
node.remove("include_in_root");
|
||||||
}
|
}
|
||||||
if (nested) {
|
if (nested) {
|
||||||
|
|
|
@ -42,7 +42,7 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.index.mapper.core.TypeParsers.parseDateTimeFormatter;
|
import static org.elasticsearch.index.mapper.core.TypeParsers.parseDateTimeFormatter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -189,10 +189,10 @@ public class RootObjectMapper extends ObjectMapper {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else if (fieldName.equals("date_detection")) {
|
} else if (fieldName.equals("date_detection")) {
|
||||||
((Builder) builder).dateDetection = nodeBooleanValue(fieldNode);
|
((Builder) builder).dateDetection = lenientNodeBooleanValue(fieldNode);
|
||||||
return true;
|
return true;
|
||||||
} else if (fieldName.equals("numeric_detection")) {
|
} else if (fieldName.equals("numeric_detection")) {
|
||||||
((Builder) builder).numericDetection = nodeBooleanValue(fieldNode);
|
((Builder) builder).numericDetection = lenientNodeBooleanValue(fieldNode);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -46,7 +46,7 @@ import org.elasticsearch.search.builder.SearchSourceBuilder;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeStringArrayValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeStringArrayValue;
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeStringValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeStringValue;
|
||||||
import static org.elasticsearch.rest.RestRequest.Method.GET;
|
import static org.elasticsearch.rest.RestRequest.Method.GET;
|
||||||
|
@ -159,7 +159,7 @@ public class RestMultiSearchAction extends BaseRestHandler {
|
||||||
} else if ("search_type".equals(entry.getKey()) || "searchType".equals(entry.getKey())) {
|
} else if ("search_type".equals(entry.getKey()) || "searchType".equals(entry.getKey())) {
|
||||||
searchRequest.searchType(nodeStringValue(value, null));
|
searchRequest.searchType(nodeStringValue(value, null));
|
||||||
} else if ("request_cache".equals(entry.getKey()) || "requestCache".equals(entry.getKey())) {
|
} else if ("request_cache".equals(entry.getKey()) || "requestCache".equals(entry.getKey())) {
|
||||||
searchRequest.requestCache(nodeBooleanValue(value));
|
searchRequest.requestCache(lenientNodeBooleanValue(value));
|
||||||
} else if ("preference".equals(entry.getKey())) {
|
} else if ("preference".equals(entry.getKey())) {
|
||||||
searchRequest.preference(nodeStringValue(value, null));
|
searchRequest.preference(nodeStringValue(value, null));
|
||||||
} else if ("routing".equals(entry.getKey())) {
|
} else if ("routing".equals(entry.getKey())) {
|
||||||
|
|
|
@ -152,7 +152,7 @@ public class GetTermVectorsIT extends AbstractTermVectorsTestCase {
|
||||||
.addMapping("type1",
|
.addMapping("type1",
|
||||||
"field0", "type=integer,", // no tvs
|
"field0", "type=integer,", // no tvs
|
||||||
"field1", "type=string,index=no", // no tvs
|
"field1", "type=string,index=no", // no tvs
|
||||||
"field2", "type=string,index=no,store=yes", // no tvs
|
"field2", "type=string,index=no,store=true", // no tvs
|
||||||
"field3", "type=string,index=no,term_vector=yes", // no tvs
|
"field3", "type=string,index=no,term_vector=yes", // no tvs
|
||||||
"field4", "type=string,index=not_analyzed", // yes tvs
|
"field4", "type=string,index=not_analyzed", // yes tvs
|
||||||
"field5", "type=string,index=analyzed")); // yes tvs
|
"field5", "type=string,index=analyzed")); // yes tvs
|
||||||
|
|
|
@ -90,8 +90,8 @@ public class SimpleClusterStateIT extends ESIntegTestCase {
|
||||||
.setTemplate("te*")
|
.setTemplate("te*")
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.get();
|
.get();
|
||||||
|
|
||||||
|
|
|
@ -253,12 +253,12 @@ public class GetActionIT extends ESIntegTestCase {
|
||||||
public void testGetDocWithMultivaluedFields() throws Exception {
|
public void testGetDocWithMultivaluedFields() throws Exception {
|
||||||
String mapping1 = XContentFactory.jsonBuilder().startObject().startObject("type1")
|
String mapping1 = XContentFactory.jsonBuilder().startObject().startObject("type1")
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field").field("type", "string").field("store", "yes").endObject()
|
.startObject("field").field("type", "string").field("store", true).endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject().endObject().string();
|
.endObject().endObject().string();
|
||||||
String mapping2 = XContentFactory.jsonBuilder().startObject().startObject("type2")
|
String mapping2 = XContentFactory.jsonBuilder().startObject().startObject("type2")
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field").field("type", "string").field("store", "yes").endObject()
|
.startObject("field").field("type", "string").field("store", true).endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject().endObject().string();
|
.endObject().endObject().string();
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
|
@ -751,7 +751,7 @@ public class GetActionIT extends ESIntegTestCase {
|
||||||
.startObject("field1").field("type", "object").startObject("properties")
|
.startObject("field1").field("type", "object").startObject("properties")
|
||||||
.startObject("field2").field("type", "object").startObject("properties")
|
.startObject("field2").field("type", "object").startObject("properties")
|
||||||
.startObject("field3").field("type", "object").startObject("properties")
|
.startObject("field3").field("type", "object").startObject("properties")
|
||||||
.startObject("field4").field("type", "string").field("store", "yes")
|
.startObject("field4").field("type", "string").field("store", true)
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
|
|
|
@ -374,7 +374,7 @@ public class DynamicMappingTests extends ESSingleNodeTestCase {
|
||||||
|
|
||||||
public void testReuseExistingMappings() throws IOException, Exception {
|
public void testReuseExistingMappings() throws IOException, Exception {
|
||||||
IndexService indexService = createIndex("test", Settings.EMPTY, "type",
|
IndexService indexService = createIndex("test", Settings.EMPTY, "type",
|
||||||
"my_field1", "type=string,store=yes",
|
"my_field1", "type=string,store=true",
|
||||||
"my_field2", "type=integer,precision_step=10",
|
"my_field2", "type=integer,precision_step=10",
|
||||||
"my_field3", "type=long,doc_values=false",
|
"my_field3", "type=long,doc_values=false",
|
||||||
"my_field4", "type=float,index_options=freqs",
|
"my_field4", "type=float,index_options=freqs",
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class BinaryMappingTests extends ESSingleNodeTestCase {
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field")
|
.startObject("field")
|
||||||
.field("type", "binary")
|
.field("type", "binary")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject().endObject().string();
|
.endObject().endObject().string();
|
||||||
|
|
|
@ -89,12 +89,12 @@ public class ExternalValuesMapperIntegrationIT extends ESIntegTestCase {
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("g")
|
.startObject("g")
|
||||||
.field("type", "string")
|
.field("type", "string")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("raw")
|
.startObject("raw")
|
||||||
.field("type", "string")
|
.field("type", "string")
|
||||||
.field("index", "not_analyzed")
|
.field("index", "not_analyzed")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
|
|
|
@ -118,12 +118,12 @@ public class SimpleExternalMappingTests extends ESSingleNodeTestCase {
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("field")
|
.startObject("field")
|
||||||
.field("type", "string")
|
.field("type", "string")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("raw")
|
.startObject("raw")
|
||||||
.field("type", "string")
|
.field("type", "string")
|
||||||
.field("index", "not_analyzed")
|
.field("index", "not_analyzed")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
|
|
|
@ -330,7 +330,7 @@ public class GeoPointFieldMapperTests extends ESSingleNodeTestCase {
|
||||||
public void testLatLonValuesStored() throws Exception {
|
public void testLatLonValuesStored() throws Exception {
|
||||||
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
||||||
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
||||||
.field("store", "yes").endObject().endObject().endObject().endObject().string();
|
.field("store", true).endObject().endObject().endObject().endObject().string();
|
||||||
|
|
||||||
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
||||||
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
||||||
|
@ -357,7 +357,7 @@ public class GeoPointFieldMapperTests extends ESSingleNodeTestCase {
|
||||||
public void testArrayLatLonValues() throws Exception {
|
public void testArrayLatLonValues() throws Exception {
|
||||||
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
||||||
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
||||||
.field("store", "yes").endObject().endObject().endObject().endObject().string();
|
.field("store", true).endObject().endObject().endObject().endObject().string();
|
||||||
|
|
||||||
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
||||||
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
||||||
|
@ -416,7 +416,7 @@ public class GeoPointFieldMapperTests extends ESSingleNodeTestCase {
|
||||||
|
|
||||||
public void testLatLonInOneValueStored() throws Exception {
|
public void testLatLonInOneValueStored() throws Exception {
|
||||||
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
||||||
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true).field("store", "yes").endObject().endObject()
|
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true).field("store", true).endObject().endObject()
|
||||||
.endObject().endObject().string();
|
.endObject().endObject().string();
|
||||||
|
|
||||||
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
||||||
|
@ -443,7 +443,7 @@ public class GeoPointFieldMapperTests extends ESSingleNodeTestCase {
|
||||||
public void testLatLonInOneValueArray() throws Exception {
|
public void testLatLonInOneValueArray() throws Exception {
|
||||||
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
||||||
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
||||||
.field("store", "yes").endObject().endObject().endObject().endObject().string();
|
.field("store", true).endObject().endObject().endObject().endObject().string();
|
||||||
|
|
||||||
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
||||||
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
||||||
|
@ -528,7 +528,7 @@ public class GeoPointFieldMapperTests extends ESSingleNodeTestCase {
|
||||||
public void testLonLatArrayStored() throws Exception {
|
public void testLonLatArrayStored() throws Exception {
|
||||||
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
||||||
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
||||||
.field("store", "yes").endObject().endObject().endObject().endObject().string();
|
.field("store", true).endObject().endObject().endObject().endObject().string();
|
||||||
|
|
||||||
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
||||||
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
||||||
|
@ -554,7 +554,7 @@ public class GeoPointFieldMapperTests extends ESSingleNodeTestCase {
|
||||||
public void testLonLatArrayArrayStored() throws Exception {
|
public void testLonLatArrayArrayStored() throws Exception {
|
||||||
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type")
|
||||||
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
.startObject("properties").startObject("point").field("type", "geo_point").field("lat_lon", true)
|
||||||
.field("store", "yes").endObject().endObject().endObject().endObject().string();
|
.field("store", true).endObject().endObject().endObject().endObject().string();
|
||||||
|
|
||||||
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
Version version = VersionUtils.randomVersionBetween(random(), Version.V_1_0_0, Version.CURRENT);
|
||||||
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
Settings settings = Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build();
|
||||||
|
|
|
@ -54,9 +54,9 @@ public class StoredNumericValuesTests extends ESSingleNodeTestCase {
|
||||||
.startObject()
|
.startObject()
|
||||||
.startObject("type")
|
.startObject("type")
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field1").field("type", "integer").field("store", "yes").endObject()
|
.startObject("field1").field("type", "integer").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "float").field("store", "yes").endObject()
|
.startObject("field2").field("type", "float").field("store", true).endObject()
|
||||||
.startObject("field3").field("type", "long").field("store", "yes").endObject()
|
.startObject("field3").field("type", "long").field("store", true).endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
|
|
|
@ -44,7 +44,7 @@ public class ConcurrentDynamicTemplateIT extends ESIntegTestCase {
|
||||||
final String fieldName = "field";
|
final String fieldName = "field";
|
||||||
final String mapping = "{ \"" + mappingType + "\": {" +
|
final String mapping = "{ \"" + mappingType + "\": {" +
|
||||||
"\"dynamic_templates\": ["
|
"\"dynamic_templates\": ["
|
||||||
+ "{ \"" + fieldName + "\": {" + "\"path_match\": \"*\"," + "\"mapping\": {" + "\"type\": \"string\"," + "\"store\": \"yes\","
|
+ "{ \"" + fieldName + "\": {" + "\"path_match\": \"*\"," + "\"mapping\": {" + "\"type\": \"string\"," + "\"store\": true,"
|
||||||
+ "\"index\": \"analyzed\", \"analyzer\": \"whitespace\" } } } ] } }";
|
+ "\"index\": \"analyzed\", \"analyzer\": \"whitespace\" } } } ] } }";
|
||||||
// The 'fieldNames' array is used to help with retrieval of index terms
|
// The 'fieldNames' array is used to help with retrieval of index terms
|
||||||
// after testing
|
// after testing
|
||||||
|
|
|
@ -38,8 +38,8 @@ public class IndexTemplateBlocksIT extends ESIntegTestCase {
|
||||||
.setTemplate("te*")
|
.setTemplate("te*")
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
|
|
||||||
|
|
|
@ -78,8 +78,8 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setSettings(indexSettings())
|
.setSettings(indexSettings())
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.get();
|
.get();
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setSettings(indexSettings())
|
.setSettings(indexSettings())
|
||||||
.setOrder(1)
|
.setOrder(1)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field2").field("type", "string").field("store", "no").endObject()
|
.startObject("field2").field("type", "string").field("store", false).endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.get();
|
.get();
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setCreate(true)
|
.setCreate(true)
|
||||||
.setOrder(1)
|
.setOrder(1)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field2").field("type", "string").field("store", "no").endObject()
|
.startObject("field2").field("type", "string").field("store", false).endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
, IndexTemplateAlreadyExistsException.class
|
, IndexTemplateAlreadyExistsException.class
|
||||||
);
|
);
|
||||||
|
@ -145,8 +145,8 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setTemplate("te*")
|
.setTemplate("te*")
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
|
|
||||||
|
@ -170,8 +170,8 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setTemplate("te*")
|
.setTemplate("te*")
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
|
|
||||||
|
@ -190,8 +190,8 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setTemplate("te*")
|
.setTemplate("te*")
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
|
|
||||||
|
@ -213,8 +213,8 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setTemplate("te*")
|
.setTemplate("te*")
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
|
|
||||||
|
@ -223,8 +223,8 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setTemplate("te*")
|
.setTemplate("te*")
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
|
|
||||||
|
@ -233,8 +233,8 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||||
.setTemplate("te*")
|
.setTemplate("te*")
|
||||||
.setOrder(0)
|
.setOrder(0)
|
||||||
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "yes").field("index", "not_analyzed").endObject()
|
.startObject("field2").field("type", "string").field("store", true).field("index", "not_analyzed").endObject()
|
||||||
.endObject().endObject().endObject())
|
.endObject().endObject().endObject())
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
|
|
||||||
|
|
|
@ -174,13 +174,13 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
.field("index_options", "offsets")
|
.field("index_options", "offsets")
|
||||||
.field("term_vector", "with_positions_offsets")
|
.field("term_vector", "with_positions_offsets")
|
||||||
.field("type", "string")
|
.field("type", "string")
|
||||||
.field("store", "no")
|
.field("store", false)
|
||||||
.endObject()
|
.endObject()
|
||||||
.startObject("text")
|
.startObject("text")
|
||||||
.field("index_options", "offsets")
|
.field("index_options", "offsets")
|
||||||
.field("term_vector", "with_positions_offsets")
|
.field("term_vector", "with_positions_offsets")
|
||||||
.field("type", "string")
|
.field("type", "string")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject();
|
.endObject();
|
||||||
|
@ -205,7 +205,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
// see #3486
|
// see #3486
|
||||||
public void testHighTermFrequencyDoc() throws IOException {
|
public void testHighTermFrequencyDoc() throws IOException {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("test", "name", "type=string,term_vector=with_positions_offsets,store=" + (randomBoolean() ? "yes" : "no")));
|
.addMapping("test", "name", "type=string,term_vector=with_positions_offsets,store=" + randomBoolean()));
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
for (int i = 0; i < 6000; i++) {
|
for (int i = 0; i < 6000; i++) {
|
||||||
|
@ -471,8 +471,8 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
// we don't store title and don't use term vector, now lets see if it works...
|
// we don't store title and don't use term vector, now lets see if it works...
|
||||||
.startObject("title").field("type", "string").field("store", "no").field("term_vector", "no").endObject()
|
.startObject("title").field("type", "string").field("store", false).field("term_vector", "no").endObject()
|
||||||
.startObject("attachments").startObject("properties").startObject("body").field("type", "string").field("store", "no").field("term_vector", "no").endObject().endObject().endObject()
|
.startObject("attachments").startObject("properties").startObject("body").field("type", "string").field("store", false).field("term_vector", "no").endObject().endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
|
|
||||||
|
@ -510,8 +510,8 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
// we don't store title, now lets see if it works...
|
// we don't store title, now lets see if it works...
|
||||||
.startObject("title").field("type", "string").field("store", "no").field("term_vector", "with_positions_offsets").endObject()
|
.startObject("title").field("type", "string").field("store", false).field("term_vector", "with_positions_offsets").endObject()
|
||||||
.startObject("attachments").startObject("properties").startObject("body").field("type", "string").field("store", "no").field("term_vector", "with_positions_offsets").endObject().endObject().endObject()
|
.startObject("attachments").startObject("properties").startObject("body").field("type", "string").field("store", false).field("term_vector", "with_positions_offsets").endObject().endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
|
|
||||||
|
@ -549,8 +549,8 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
// we don't store title, now lets see if it works...
|
// we don't store title, now lets see if it works...
|
||||||
.startObject("title").field("type", "string").field("store", "no").field("index_options", "offsets").endObject()
|
.startObject("title").field("type", "string").field("store", false).field("index_options", "offsets").endObject()
|
||||||
.startObject("attachments").startObject("properties").startObject("body").field("type", "string").field("store", "no").field("index_options", "offsets").endObject().endObject().endObject()
|
.startObject("attachments").startObject("properties").startObject("body").field("type", "string").field("store", false).field("index_options", "offsets").endObject().endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
|
|
||||||
|
@ -598,7 +598,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testHighlightIssue1994() throws Exception {
|
public void testHighlightIssue1994() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", "title", "type=string,store=no", "titleTV", "type=string,store=no,term_vector=with_positions_offsets"));
|
.addMapping("type1", "title", "type=string,store=false", "titleTV", "type=string,store=false,term_vector=with_positions_offsets"));
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
|
|
||||||
indexRandom(false, client().prepareIndex("test", "type1", "1")
|
indexRandom(false, client().prepareIndex("test", "type1", "1")
|
||||||
|
@ -683,7 +683,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1")
|
||||||
.startObject("_source").field("enabled", false).endObject()
|
.startObject("_source").field("enabled", false).endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").field("index_options", "offsets")
|
.startObject("field1").field("type", "string").field("store", true).field("index_options", "offsets")
|
||||||
.field("term_vector", "with_positions_offsets").endObject()
|
.field("term_vector", "with_positions_offsets").endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
|
|
||||||
|
@ -915,7 +915,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
.startObject("foo")
|
.startObject("foo")
|
||||||
.field("type", "string")
|
.field("type", "string")
|
||||||
.field("termVector", "with_positions_offsets")
|
.field("termVector", "with_positions_offsets")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.field("analyzer", "english")
|
.field("analyzer", "english")
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("plain")
|
.startObject("plain")
|
||||||
|
@ -928,7 +928,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
.startObject("bar")
|
.startObject("bar")
|
||||||
.field("type", "string")
|
.field("type", "string")
|
||||||
.field("termVector", "with_positions_offsets")
|
.field("termVector", "with_positions_offsets")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.field("analyzer", "english")
|
.field("analyzer", "english")
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("plain")
|
.startObject("plain")
|
||||||
|
@ -1101,7 +1101,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public XContentBuilder type1TermVectorMapping() throws IOException {
|
public XContentBuilder type1TermVectorMapping() throws IOException {
|
||||||
return XContentFactory.jsonBuilder().startObject().startObject("type1")
|
return XContentFactory.jsonBuilder().startObject().startObject("type1")
|
||||||
.startObject("_all").field("store", "yes").field("termVector", "with_positions_offsets").endObject()
|
.startObject("_all").field("store", true).field("termVector", "with_positions_offsets").endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("termVector", "with_positions_offsets").endObject()
|
.startObject("field1").field("type", "string").field("termVector", "with_positions_offsets").endObject()
|
||||||
.startObject("field2").field("type", "string").field("termVector", "with_positions_offsets").endObject()
|
.startObject("field2").field("type", "string").field("termVector", "with_positions_offsets").endObject()
|
||||||
|
@ -1111,7 +1111,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testSameContent() throws Exception {
|
public void testSameContent() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", "title", "type=string,store=yes,term_vector=with_positions_offsets"));
|
.addMapping("type1", "title", "type=string,store=true,term_vector=with_positions_offsets"));
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
|
|
||||||
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
||||||
|
@ -1133,7 +1133,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testFastVectorHighlighterOffsetParameter() throws Exception {
|
public void testFastVectorHighlighterOffsetParameter() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", "title", "type=string,store=yes,term_vector=with_positions_offsets").get());
|
.addMapping("type1", "title", "type=string,store=true,term_vector=with_positions_offsets").get());
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
|
|
||||||
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
||||||
|
@ -1156,7 +1156,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testEscapeHtml() throws Exception {
|
public void testEscapeHtml() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", "title", "type=string,store=yes"));
|
.addMapping("type1", "title", "type=string,store=true"));
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
|
|
||||||
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
||||||
|
@ -1178,7 +1178,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testEscapeHtmlVector() throws Exception {
|
public void testEscapeHtmlVector() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", "title", "type=string,store=yes,term_vector=with_positions_offsets"));
|
.addMapping("type1", "title", "type=string,store=true,term_vector=with_positions_offsets"));
|
||||||
ensureYellow();
|
ensureYellow();
|
||||||
|
|
||||||
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
||||||
|
@ -1201,9 +1201,9 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
public void testMultiMapperVectorWithStore() throws Exception {
|
public void testMultiMapperVectorWithStore() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("title").field("type", "string").field("store", "yes").field("term_vector", "with_positions_offsets").field("analyzer", "classic")
|
.startObject("title").field("type", "string").field("store", true).field("term_vector", "with_positions_offsets").field("analyzer", "classic")
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("key").field("type", "string").field("store", "yes").field("term_vector", "with_positions_offsets").field("analyzer", "whitespace").endObject()
|
.startObject("key").field("type", "string").field("store", true).field("term_vector", "with_positions_offsets").field("analyzer", "whitespace").endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
@ -1229,9 +1229,9 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
public void testMultiMapperVectorFromSource() throws Exception {
|
public void testMultiMapperVectorFromSource() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("title").field("type", "string").field("store", "no").field("term_vector", "with_positions_offsets").field("analyzer", "classic")
|
.startObject("title").field("type", "string").field("store", false).field("term_vector", "with_positions_offsets").field("analyzer", "classic")
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("key").field("type", "string").field("store", "no").field("term_vector", "with_positions_offsets").field("analyzer", "whitespace").endObject()
|
.startObject("key").field("type", "string").field("store", false).field("term_vector", "with_positions_offsets").field("analyzer", "whitespace").endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
@ -1259,9 +1259,9 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
public void testMultiMapperNoVectorWithStore() throws Exception {
|
public void testMultiMapperNoVectorWithStore() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("title").field("type", "string").field("store", "yes").field("term_vector", "no").field("analyzer", "classic")
|
.startObject("title").field("type", "string").field("store", true).field("term_vector", "no").field("analyzer", "classic")
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("key").field("type", "string").field("store", "yes").field("term_vector", "no").field("analyzer", "whitespace").endObject()
|
.startObject("key").field("type", "string").field("store", true).field("term_vector", "no").field("analyzer", "whitespace").endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
|
|
||||||
|
@ -1289,9 +1289,9 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
public void testMultiMapperNoVectorFromSource() throws Exception {
|
public void testMultiMapperNoVectorFromSource() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("title").field("type", "string").field("store", "no").field("term_vector", "no").field("analyzer", "classic")
|
.startObject("title").field("type", "string").field("store", false).field("term_vector", "no").field("analyzer", "classic")
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("key").field("type", "string").field("store", "no").field("term_vector", "no").field("analyzer", "whitespace").endObject()
|
.startObject("key").field("type", "string").field("store", false).field("term_vector", "no").field("analyzer", "whitespace").endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
@ -1317,7 +1317,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testFastVectorHighlighterShouldFailIfNoTermVectors() throws Exception {
|
public void testFastVectorHighlighterShouldFailIfNoTermVectors() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", "title", "type=string,store=yes,term_vector=no"));
|
.addMapping("type1", "title", "type=string,store=true,term_vector=no"));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
|
||||||
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
||||||
|
@ -1347,7 +1347,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testDisableFastVectorHighlighter() throws Exception {
|
public void testDisableFastVectorHighlighter() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", "title", "type=string,store=yes,term_vector=with_positions_offsets,analyzer=classic"));
|
.addMapping("type1", "title", "type=string,store=true,term_vector=with_positions_offsets,analyzer=classic"));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
|
||||||
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[5];
|
||||||
|
@ -1485,7 +1485,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
.putArray("index.analysis.filter.synonym.synonyms", "quick => fast");
|
.putArray("index.analysis.filter.synonym.synonyms", "quick => fast");
|
||||||
|
|
||||||
assertAcked(prepareCreate("test").setSettings(builder.build()).addMapping("type1", type1TermVectorMapping())
|
assertAcked(prepareCreate("test").setSettings(builder.build()).addMapping("type1", type1TermVectorMapping())
|
||||||
.addMapping("type2", "_all", "store=yes,termVector=with_positions_offsets",
|
.addMapping("type2", "_all", "store=true,termVector=with_positions_offsets",
|
||||||
"field4", "type=string,term_vector=with_positions_offsets,analyzer=synonym",
|
"field4", "type=string,term_vector=with_positions_offsets,analyzer=synonym",
|
||||||
"field3", "type=string,analyzer=synonym"));
|
"field3", "type=string,analyzer=synonym"));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
@ -1622,7 +1622,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testMissingStoredField() throws Exception {
|
public void testMissingStoredField() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", "highlight_field", "type=string,store=yes"));
|
.addMapping("type1", "highlight_field", "type=string,store=true"));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
client().prepareIndex("test", "type1", "1")
|
client().prepareIndex("test", "type1", "1")
|
||||||
.setSource(jsonBuilder().startObject()
|
.setSource(jsonBuilder().startObject()
|
||||||
|
@ -1744,7 +1744,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
|
|
||||||
private static String randomStoreField() {
|
private static String randomStoreField() {
|
||||||
if (randomBoolean()) {
|
if (randomBoolean()) {
|
||||||
return "store=yes,";
|
return "store=true,";
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -2136,7 +2136,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
public void testMultiMatchQueryHighlight() throws IOException {
|
public void testMultiMatchQueryHighlight() throws IOException {
|
||||||
String[] highlighterTypes = new String[] {"fvh", "plain", "postings"};
|
String[] highlighterTypes = new String[] {"fvh", "plain", "postings"};
|
||||||
XContentBuilder mapping = XContentFactory.jsonBuilder().startObject().startObject("type1")
|
XContentBuilder mapping = XContentFactory.jsonBuilder().startObject().startObject("type1")
|
||||||
.startObject("_all").field("store", "yes").field("index_options", "offsets").endObject()
|
.startObject("_all").field("store", true).field("index_options", "offsets").endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("index_options", "offsets").field("term_vector", "with_positions_offsets").endObject()
|
.startObject("field1").field("type", "string").field("index_options", "offsets").field("term_vector", "with_positions_offsets").endObject()
|
||||||
.startObject("field2").field("type", "string").field("index_options", "offsets").field("term_vector", "with_positions_offsets").endObject()
|
.startObject("field2").field("type", "string").field("index_options", "offsets").field("term_vector", "with_positions_offsets").endObject()
|
||||||
|
@ -2226,9 +2226,9 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1")
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("title").field("type", "string").field("store", "yes").field("index_options", "offsets").field("analyzer", "classic")
|
.startObject("title").field("type", "string").field("store", true).field("index_options", "offsets").field("analyzer", "classic")
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("key").field("type", "string").field("store", "yes").field("index_options", "offsets").field("analyzer", "whitespace").endObject()
|
.startObject("key").field("type", "string").field("store", true).field("index_options", "offsets").field("analyzer", "whitespace").endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
@ -2258,9 +2258,9 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
public void testPostingsHighlighterMultiMapperFromSource() throws Exception {
|
public void testPostingsHighlighterMultiMapperFromSource() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("title").field("type", "string").field("store", "no").field("index_options", "offsets").field("analyzer", "classic")
|
.startObject("title").field("type", "string").field("store", false).field("index_options", "offsets").field("analyzer", "classic")
|
||||||
.startObject("fields")
|
.startObject("fields")
|
||||||
.startObject("key").field("type", "string").field("store", "no").field("index_options", "offsets").field("analyzer", "whitespace").endObject()
|
.startObject("key").field("type", "string").field("store", false).field("index_options", "offsets").field("analyzer", "whitespace").endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
@ -2287,7 +2287,7 @@ public class HighlighterSearchIT extends ESIntegTestCase {
|
||||||
public void testPostingsHighlighterShouldFailIfNoOffsets() throws Exception {
|
public void testPostingsHighlighterShouldFailIfNoOffsets() throws Exception {
|
||||||
assertAcked(prepareCreate("test")
|
assertAcked(prepareCreate("test")
|
||||||
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
.addMapping("type1", jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("title").field("type", "string").field("store", "yes").field("index_options", "docs").endObject()
|
.startObject("title").field("type", "string").field("store", true).field("index_options", "docs").endObject()
|
||||||
.endObject().endObject().endObject()));
|
.endObject().endObject().endObject()));
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
|
||||||
|
|
|
@ -760,7 +760,7 @@ public class InnerHitsIT extends ESIntegTestCase {
|
||||||
.startObject("comments")
|
.startObject("comments")
|
||||||
.field("type", "nested")
|
.field("type", "nested")
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("message").field("type", "string").field("store", "yes").endObject()
|
.startObject("message").field("type", "string").field("store", true).endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
|
@ -798,7 +798,7 @@ public class InnerHitsIT extends ESIntegTestCase {
|
||||||
.startObject("comments")
|
.startObject("comments")
|
||||||
.field("type", "nested")
|
.field("type", "nested")
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("message").field("type", "string").field("store", "yes").endObject()
|
.startObject("message").field("type", "string").field("store", true).endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
|
@ -836,7 +836,7 @@ public class InnerHitsIT extends ESIntegTestCase {
|
||||||
.startObject("comments")
|
.startObject("comments")
|
||||||
.field("type", "nested")
|
.field("type", "nested")
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("message").field("type", "string").field("store", "yes").endObject()
|
.startObject("message").field("type", "string").field("store", true).endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
|
@ -875,7 +875,7 @@ public class InnerHitsIT extends ESIntegTestCase {
|
||||||
.startObject("comments")
|
.startObject("comments")
|
||||||
.field("type", "nested")
|
.field("type", "nested")
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("message").field("type", "string").field("store", "yes").endObject()
|
.startObject("message").field("type", "string").field("store", true).endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
|
|
|
@ -337,7 +337,7 @@ public class SimpleNestedIT extends ESIntegTestCase {
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field1")
|
.startObject("field1")
|
||||||
.field("type", "long")
|
.field("type", "long")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
.endObject()
|
.endObject()
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"first":{
|
"first":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes",
|
"store":true,
|
||||||
"include_in_all":false
|
"include_in_all":false
|
||||||
},
|
},
|
||||||
"last":{
|
"last":{
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"location":{
|
"location":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"first":{
|
"first":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes",
|
"store":true,
|
||||||
"include_in_all":false
|
"include_in_all":false
|
||||||
},
|
},
|
||||||
"last":{
|
"last":{
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"location":{
|
"location":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"first":{
|
"first":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes",
|
"store":true,
|
||||||
"include_in_all":false
|
"include_in_all":false
|
||||||
},
|
},
|
||||||
"last":{
|
"last":{
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"location":{
|
"location":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"first":{
|
"first":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes",
|
"store":true,
|
||||||
"include_in_all":false
|
"include_in_all":false
|
||||||
},
|
},
|
||||||
"last":{
|
"last":{
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"location":{
|
"location":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"first":{
|
"first":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes",
|
"store":true,
|
||||||
"include_in_all":false
|
"include_in_all":false
|
||||||
},
|
},
|
||||||
"last":{
|
"last":{
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"location":{
|
"location":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"person":{
|
"person":{
|
||||||
"_all":{
|
"_all":{
|
||||||
"enabled":true,
|
"enabled":true,
|
||||||
"store":"yes"
|
"store":true
|
||||||
},
|
},
|
||||||
"properties":{
|
"properties":{
|
||||||
"name":{
|
"name":{
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"first":{
|
"first":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes",
|
"store":true,
|
||||||
"include_in_all":false
|
"include_in_all":false
|
||||||
},
|
},
|
||||||
"last":{
|
"last":{
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
"properties":{
|
"properties":{
|
||||||
"location":{
|
"location":{
|
||||||
"type":"string",
|
"type":"string",
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"template_1":{
|
"template_1":{
|
||||||
"match":"*",
|
"match":"*",
|
||||||
"mapping":{
|
"mapping":{
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"template_1":{
|
"template_1":{
|
||||||
"path_match":"obj1.obj2.*",
|
"path_match":"obj1.obj2.*",
|
||||||
"mapping":{
|
"mapping":{
|
||||||
"store":"no"
|
"store":false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
"template_2":{
|
"template_2":{
|
||||||
"path_match":"obj1.*",
|
"path_match":"obj1.*",
|
||||||
"mapping":{
|
"mapping":{
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -7,12 +7,12 @@
|
||||||
"mapping":{
|
"mapping":{
|
||||||
"type":"{dynamic_type}",
|
"type":"{dynamic_type}",
|
||||||
"index":"analyzed",
|
"index":"analyzed",
|
||||||
"store":"yes",
|
"store":true,
|
||||||
"fields":{
|
"fields":{
|
||||||
"org":{
|
"org":{
|
||||||
"type":"{dynamic_type}",
|
"type":"{dynamic_type}",
|
||||||
"index":"not_analyzed",
|
"index":"not_analyzed",
|
||||||
"store":"yes"
|
"store":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"name":{
|
"name":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"analyzed",
|
index:"analyzed",
|
||||||
store:"yes"
|
store:true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,12 @@
|
||||||
"name":{
|
"name":{
|
||||||
"type" :"string",
|
"type" :"string",
|
||||||
"index" :"analyzed",
|
"index" :"analyzed",
|
||||||
"store" :"yes",
|
"store" :true,
|
||||||
"fields":{
|
"fields":{
|
||||||
"name":{
|
"name":{
|
||||||
"type" :"string",
|
"type" :"string",
|
||||||
"index" :"analyzed",
|
"index" :"analyzed",
|
||||||
"store" :"yes"
|
"store" :true
|
||||||
},
|
},
|
||||||
"indexed":{
|
"indexed":{
|
||||||
"type" :"string",
|
"type" :"string",
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
"not_indexed":{
|
"not_indexed":{
|
||||||
"type" :"string",
|
"type" :"string",
|
||||||
"index" :"no",
|
"index" :"no",
|
||||||
"store" :"yes"
|
"store" :true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,12 @@
|
||||||
"name" : {
|
"name" : {
|
||||||
"type" : "string",
|
"type" : "string",
|
||||||
"index" : "analyzed",
|
"index" : "analyzed",
|
||||||
"store" : "yes",
|
"store" : true,
|
||||||
"fields": {
|
"fields": {
|
||||||
"name" : {
|
"name" : {
|
||||||
"type" : "string",
|
"type" : "string",
|
||||||
"index" : "analyzed",
|
"index" : "analyzed",
|
||||||
"store" : "yes"
|
"store" : true
|
||||||
},
|
},
|
||||||
"indexed":{
|
"indexed":{
|
||||||
type:"string",
|
type:"string",
|
||||||
|
@ -18,12 +18,12 @@
|
||||||
"not_indexed":{
|
"not_indexed":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"no",
|
index:"no",
|
||||||
store:"yes"
|
store:true
|
||||||
},
|
},
|
||||||
"not_indexed2":{
|
"not_indexed2":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"no",
|
index:"no",
|
||||||
store:"yes"
|
store:true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,12 @@
|
||||||
"name":{
|
"name":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"analyzed",
|
index:"analyzed",
|
||||||
store:"yes",
|
store:true,
|
||||||
"fields":{
|
"fields":{
|
||||||
"not_indexed3":{
|
"not_indexed3":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"no",
|
index:"no",
|
||||||
store:"yes"
|
store:true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"name":{
|
"name":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"analyzed",
|
index:"analyzed",
|
||||||
store:"yes",
|
store:true,
|
||||||
"fields":{
|
"fields":{
|
||||||
"indexed":{
|
"indexed":{
|
||||||
type:"string",
|
type:"string",
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
"not_indexed":{
|
"not_indexed":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"no",
|
index:"no",
|
||||||
store:"yes"
|
store:true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"name":{
|
"name":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"analyzed",
|
index:"analyzed",
|
||||||
store:"yes",
|
store:true,
|
||||||
"fields":{
|
"fields":{
|
||||||
"indexed":{
|
"indexed":{
|
||||||
type:"string",
|
type:"string",
|
||||||
|
@ -13,12 +13,12 @@
|
||||||
"not_indexed":{
|
"not_indexed":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"no",
|
index:"no",
|
||||||
store:"yes"
|
store:true
|
||||||
},
|
},
|
||||||
"not_indexed2":{
|
"not_indexed2":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"no",
|
index:"no",
|
||||||
store:"yes"
|
store:true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
"not_indexed3":{
|
"not_indexed3":{
|
||||||
type:"string",
|
type:"string",
|
||||||
index:"no",
|
index:"no",
|
||||||
store:"yes"
|
store:true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
"not_indexed": {
|
"not_indexed": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"index": "no",
|
"index": "no",
|
||||||
"store": "yes"
|
"store": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
},
|
},
|
||||||
"stored": {
|
"stored": {
|
||||||
"type": "long",
|
"type": "long",
|
||||||
"store": "yes"
|
"store": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,22 +4,22 @@
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"index": "analyzed",
|
"index": "analyzed",
|
||||||
"store": "yes",
|
"store": true,
|
||||||
"fields": {
|
"fields": {
|
||||||
"indexed": {
|
"indexed": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"index": "analyzed",
|
"index": "analyzed",
|
||||||
"store": "no"
|
"store": false
|
||||||
},
|
},
|
||||||
"not_indexed": {
|
"not_indexed": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"index": "no",
|
"index": "no",
|
||||||
"store": "yes"
|
"store": true
|
||||||
},
|
},
|
||||||
"test1": {
|
"test1": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"index": "analyzed",
|
"index": "analyzed",
|
||||||
"store": "yes",
|
"store": true,
|
||||||
"fielddata": {
|
"fielddata": {
|
||||||
"loading": "eager"
|
"loading": "eager"
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
"test2": {
|
"test2": {
|
||||||
"type": "token_count",
|
"type": "token_count",
|
||||||
"index": "not_analyzed",
|
"index": "not_analyzed",
|
||||||
"store": "yes",
|
"store": true,
|
||||||
"analyzer": "simple"
|
"analyzer": "simple"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
properties:{
|
properties:{
|
||||||
first:{
|
first:{
|
||||||
type:"string",
|
type:"string",
|
||||||
store:"yes"
|
store:true
|
||||||
},
|
},
|
||||||
last:{
|
last:{
|
||||||
type:"string",
|
type:"string",
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
properties:{
|
properties:{
|
||||||
location:{
|
location:{
|
||||||
type:"string",
|
type:"string",
|
||||||
store:"yes"
|
store:true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -87,9 +87,9 @@ public class SearchFieldsTests extends ESIntegTestCase {
|
||||||
// _timestamp is randomly enabled via templates but we don't want it here to test stored fields behaviour
|
// _timestamp is randomly enabled via templates but we don't want it here to test stored fields behaviour
|
||||||
.startObject("_timestamp").field("enabled", false).endObject()
|
.startObject("_timestamp").field("enabled", false).endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("field1").field("type", "string").field("store", "yes").endObject()
|
.startObject("field1").field("type", "string").field("store", true).endObject()
|
||||||
.startObject("field2").field("type", "string").field("store", "no").endObject()
|
.startObject("field2").field("type", "string").field("store", false).endObject()
|
||||||
.startObject("field3").field("type", "string").field("store", "yes").endObject()
|
.startObject("field3").field("type", "string").field("store", true).endObject()
|
||||||
.endObject().endObject().endObject().string();
|
.endObject().endObject().endObject().string();
|
||||||
|
|
||||||
client().admin().indices().preparePutMapping().setType("type1").setSource(mapping).execute().actionGet();
|
client().admin().indices().preparePutMapping().setType("type1").setSource(mapping).execute().actionGet();
|
||||||
|
@ -171,7 +171,7 @@ public class SearchFieldsTests extends ESIntegTestCase {
|
||||||
client().admin().cluster().prepareHealth().setWaitForEvents(Priority.LANGUID).setWaitForYellowStatus().execute().actionGet();
|
client().admin().cluster().prepareHealth().setWaitForEvents(Priority.LANGUID).setWaitForYellowStatus().execute().actionGet();
|
||||||
|
|
||||||
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("properties")
|
||||||
.startObject("num1").field("type", "double").field("store", "yes").endObject()
|
.startObject("num1").field("type", "double").field("store", true).endObject()
|
||||||
.endObject().endObject().endObject().string();
|
.endObject().endObject().endObject().string();
|
||||||
|
|
||||||
client().admin().indices().preparePutMapping().setType("type1").setSource(mapping).execute().actionGet();
|
client().admin().indices().preparePutMapping().setType("type1").setSource(mapping).execute().actionGet();
|
||||||
|
@ -391,15 +391,15 @@ public class SearchFieldsTests extends ESIntegTestCase {
|
||||||
client().admin().cluster().prepareHealth().setWaitForEvents(Priority.LANGUID).setWaitForYellowStatus().execute().actionGet();
|
client().admin().cluster().prepareHealth().setWaitForEvents(Priority.LANGUID).setWaitForYellowStatus().execute().actionGet();
|
||||||
|
|
||||||
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("_source").field("enabled", false).endObject().startObject("properties")
|
String mapping = XContentFactory.jsonBuilder().startObject().startObject("type1").startObject("_source").field("enabled", false).endObject().startObject("properties")
|
||||||
.startObject("byte_field").field("type", "byte").field("store", "yes").endObject()
|
.startObject("byte_field").field("type", "byte").field("store", true).endObject()
|
||||||
.startObject("short_field").field("type", "short").field("store", "yes").endObject()
|
.startObject("short_field").field("type", "short").field("store", true).endObject()
|
||||||
.startObject("integer_field").field("type", "integer").field("store", "yes").endObject()
|
.startObject("integer_field").field("type", "integer").field("store", true).endObject()
|
||||||
.startObject("long_field").field("type", "long").field("store", "yes").endObject()
|
.startObject("long_field").field("type", "long").field("store", true).endObject()
|
||||||
.startObject("float_field").field("type", "float").field("store", "yes").endObject()
|
.startObject("float_field").field("type", "float").field("store", true).endObject()
|
||||||
.startObject("double_field").field("type", "double").field("store", "yes").endObject()
|
.startObject("double_field").field("type", "double").field("store", true).endObject()
|
||||||
.startObject("date_field").field("type", "date").field("store", "yes").endObject()
|
.startObject("date_field").field("type", "date").field("store", true).endObject()
|
||||||
.startObject("boolean_field").field("type", "boolean").field("store", "yes").endObject()
|
.startObject("boolean_field").field("type", "boolean").field("store", true).endObject()
|
||||||
.startObject("binary_field").field("type", "binary").field("store", "yes").endObject()
|
.startObject("binary_field").field("type", "binary").field("store", true).endObject()
|
||||||
.endObject().endObject().endObject().string();
|
.endObject().endObject().endObject().string();
|
||||||
|
|
||||||
client().admin().indices().preparePutMapping().setType("type1").setSource(mapping).execute().actionGet();
|
client().admin().indices().preparePutMapping().setType("type1").setSource(mapping).execute().actionGet();
|
||||||
|
@ -487,7 +487,7 @@ public class SearchFieldsTests extends ESIntegTestCase {
|
||||||
.startObject("field1").field("type", "object").startObject("properties")
|
.startObject("field1").field("type", "object").startObject("properties")
|
||||||
.startObject("field2").field("type", "object").startObject("properties")
|
.startObject("field2").field("type", "object").startObject("properties")
|
||||||
.startObject("field3").field("type", "object").startObject("properties")
|
.startObject("field3").field("type", "object").startObject("properties")
|
||||||
.startObject("field4").field("type", "string").field("store", "yes")
|
.startObject("field4").field("type", "string").field("store", true)
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
.endObject().endObject()
|
.endObject().endObject()
|
||||||
|
|
|
@ -193,7 +193,7 @@ public class SimpleSortTests extends ESIntegTestCase {
|
||||||
|
|
||||||
public void testIssue6639() throws ExecutionException, InterruptedException {
|
public void testIssue6639() throws ExecutionException, InterruptedException {
|
||||||
assertAcked(prepareCreate("$index")
|
assertAcked(prepareCreate("$index")
|
||||||
.addMapping("$type","{\"$type\": {\"properties\": {\"grantee\": {\"index\": \"not_analyzed\", \"term_vector\": \"with_positions_offsets\", \"type\": \"string\", \"analyzer\": \"snowball\", \"boost\": 1.0, \"store\": \"yes\"}}}}"));
|
.addMapping("$type","{\"$type\": {\"properties\": {\"grantee\": {\"index\": \"not_analyzed\", \"term_vector\": \"with_positions_offsets\", \"type\": \"string\", \"analyzer\": \"snowball\", \"boost\": 1.0, \"store\": true}}}}"));
|
||||||
indexRandom(true,
|
indexRandom(true,
|
||||||
client().prepareIndex("$index", "$type", "data.activity.5").setSource("{\"django_ct\": \"data.activity\", \"grantee\": \"Grantee 1\"}"),
|
client().prepareIndex("$index", "$type", "data.activity.5").setSource("{\"django_ct\": \"data.activity\", \"grantee\": \"Grantee 1\"}"),
|
||||||
client().prepareIndex("$index", "$type", "data.activity.6").setSource("{\"django_ct\": \"data.activity\", \"grantee\": \"Grantee 2\"}"));
|
client().prepareIndex("$index", "$type", "data.activity.6").setSource("{\"django_ct\": \"data.activity\", \"grantee\": \"Grantee 2\"}"));
|
||||||
|
|
|
@ -456,7 +456,7 @@ public class SuggestSearchTests extends ESIntegTestCase {
|
||||||
.put("index.analysis.filter.my_shingle.min_shingle_size", 2)
|
.put("index.analysis.filter.my_shingle.min_shingle_size", 2)
|
||||||
.put("index.analysis.filter.my_shingle.max_shingle_size", 2));
|
.put("index.analysis.filter.my_shingle.max_shingle_size", 2));
|
||||||
XContentBuilder mapping = XContentFactory.jsonBuilder().startObject().startObject("type1")
|
XContentBuilder mapping = XContentFactory.jsonBuilder().startObject().startObject("type1")
|
||||||
.startObject("_all").field("store", "yes").field("termVector", "with_positions_offsets").endObject()
|
.startObject("_all").field("store", true).field("termVector", "with_positions_offsets").endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("body").field("type", "string").field("analyzer", "body").endObject()
|
.startObject("body").field("type", "string").field("analyzer", "body").endObject()
|
||||||
.startObject("body_reverse").field("type", "string").field("analyzer", "reverse").endObject()
|
.startObject("body_reverse").field("type", "string").field("analyzer", "reverse").endObject()
|
||||||
|
@ -500,7 +500,7 @@ public class SuggestSearchTests extends ESIntegTestCase {
|
||||||
.put("index.analysis.filter.my_shingle.max_shingle_size", 2));
|
.put("index.analysis.filter.my_shingle.max_shingle_size", 2));
|
||||||
XContentBuilder mapping = XContentFactory.jsonBuilder().startObject().startObject("type1")
|
XContentBuilder mapping = XContentFactory.jsonBuilder().startObject().startObject("type1")
|
||||||
.startObject("_all")
|
.startObject("_all")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.field("termVector", "with_positions_offsets")
|
.field("termVector", "with_positions_offsets")
|
||||||
.endObject()
|
.endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
|
@ -635,7 +635,7 @@ public class SuggestSearchTests extends ESIntegTestCase {
|
||||||
.startObject()
|
.startObject()
|
||||||
.startObject("type1")
|
.startObject("type1")
|
||||||
.startObject("_all")
|
.startObject("_all")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.field("termVector", "with_positions_offsets")
|
.field("termVector", "with_positions_offsets")
|
||||||
.endObject()
|
.endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
|
@ -705,7 +705,7 @@ public class SuggestSearchTests extends ESIntegTestCase {
|
||||||
|
|
||||||
XContentBuilder mapping = XContentFactory.jsonBuilder()
|
XContentBuilder mapping = XContentFactory.jsonBuilder()
|
||||||
.startObject().startObject("type1")
|
.startObject().startObject("type1")
|
||||||
.startObject("_all").field("store", "yes").field("termVector", "with_positions_offsets").endObject()
|
.startObject("_all").field("store", true).field("termVector", "with_positions_offsets").endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
.startObject("body").field("type", "string").field("analyzer", "body").endObject()
|
.startObject("body").field("type", "string").field("analyzer", "body").endObject()
|
||||||
.startObject("bigram").field("type", "string").field("analyzer", "bigram").endObject()
|
.startObject("bigram").field("type", "string").field("analyzer", "bigram").endObject()
|
||||||
|
@ -898,7 +898,7 @@ public class SuggestSearchTests extends ESIntegTestCase {
|
||||||
.startObject()
|
.startObject()
|
||||||
.startObject("type1")
|
.startObject("type1")
|
||||||
.startObject("_all")
|
.startObject("_all")
|
||||||
.field("store", "yes")
|
.field("store", true)
|
||||||
.field("termVector", "with_positions_offsets")
|
.field("termVector", "with_positions_offsets")
|
||||||
.endObject()
|
.endObject()
|
||||||
.startObject("properties")
|
.startObject("properties")
|
||||||
|
|
|
@ -4,14 +4,14 @@
|
||||||
"file":{
|
"file":{
|
||||||
"type":"attachment",
|
"type":"attachment",
|
||||||
"fields" : {
|
"fields" : {
|
||||||
"content" : {"store" : "yes"},
|
"content" : {"store" : true},
|
||||||
"title" : {"store" : "yes"},
|
"title" : {"store" : true},
|
||||||
"date" : {"store" : "yes"},
|
"date" : {"store" : true},
|
||||||
"author" : {"analyzer" : "standard"},
|
"author" : {"analyzer" : "standard"},
|
||||||
"keywords" : {"store" : "yes"},
|
"keywords" : {"store" : true},
|
||||||
"content_type" : {"store" : "yes"},
|
"content_type" : {"store" : true},
|
||||||
"content_length" : {"store" : "yes"},
|
"content_length" : {"store" : true},
|
||||||
"language" : {"store" : "yes"}
|
"language" : {"store" : true}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
"type": "attachment"
|
"type": "attachment"
|
||||||
"fields":
|
"fields":
|
||||||
"content_type":
|
"content_type":
|
||||||
"store": "yes"
|
"store": true
|
||||||
"name":
|
"name":
|
||||||
"store": "yes"
|
"store": true
|
||||||
- do:
|
- do:
|
||||||
cluster.health:
|
cluster.health:
|
||||||
wait_for_status: yellow
|
wait_for_status: yellow
|
||||||
|
|
|
@ -14,7 +14,7 @@ setup:
|
||||||
"fields":
|
"fields":
|
||||||
"content" :
|
"content" :
|
||||||
"type": "string"
|
"type": "string"
|
||||||
"store" : "yes"
|
"store" : true
|
||||||
"term_vector": "with_positions_offsets"
|
"term_vector": "with_positions_offsets"
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
|
|
|
@ -38,7 +38,7 @@ import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue;
|
import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue;
|
||||||
import static org.elasticsearch.index.mapper.core.TypeParsers.parseStore;
|
import static org.elasticsearch.index.mapper.core.TypeParsers.parseStore;
|
||||||
|
|
||||||
public class SizeFieldMapper extends MetadataFieldMapper {
|
public class SizeFieldMapper extends MetadataFieldMapper {
|
||||||
|
@ -92,10 +92,10 @@ public class SizeFieldMapper extends MetadataFieldMapper {
|
||||||
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
String fieldName = Strings.toUnderscoreCase(entry.getKey());
|
||||||
Object fieldNode = entry.getValue();
|
Object fieldNode = entry.getValue();
|
||||||
if (fieldName.equals("enabled")) {
|
if (fieldName.equals("enabled")) {
|
||||||
builder.enabled(nodeBooleanValue(fieldNode) ? EnabledAttributeMapper.ENABLED : EnabledAttributeMapper.DISABLED);
|
builder.enabled(lenientNodeBooleanValue(fieldNode) ? EnabledAttributeMapper.ENABLED : EnabledAttributeMapper.DISABLED);
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
} else if (fieldName.equals("store") && parserContext.indexVersionCreated().before(Version.V_2_0_0_beta1)) {
|
} else if (fieldName.equals("store") && parserContext.indexVersionCreated().before(Version.V_2_0_0_beta1)) {
|
||||||
builder.store(parseStore(fieldName, fieldNode.toString()));
|
builder.store(parseStore(fieldName, fieldNode.toString(), parserContext));
|
||||||
iterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue