Merge pull request #14251 from s1monw/trash_index_settings
Replace IndexSettings annotation with a full-fledged class
This commit is contained in:
commit
beac4b17be
|
@ -27,12 +27,14 @@ import org.elasticsearch.common.component.AbstractComponent;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.Index;
|
||||||
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.analysis.AnalysisService;
|
import org.elasticsearch.index.analysis.AnalysisService;
|
||||||
import org.elasticsearch.index.analysis.NamedAnalyzer;
|
import org.elasticsearch.index.analysis.NamedAnalyzer;
|
||||||
import org.elasticsearch.index.mapper.MapperService;
|
import org.elasticsearch.index.mapper.MapperService;
|
||||||
import org.elasticsearch.index.similarity.SimilarityService;
|
import org.elasticsearch.index.similarity.SimilarityService;
|
||||||
import org.elasticsearch.script.ScriptService;
|
import org.elasticsearch.script.ScriptService;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import static java.util.Collections.unmodifiableSet;
|
import static java.util.Collections.unmodifiableSet;
|
||||||
|
@ -213,14 +215,15 @@ public class MetaDataIndexUpgradeService extends AbstractComponent {
|
||||||
* Checks the mappings for compatibility with the current version
|
* Checks the mappings for compatibility with the current version
|
||||||
*/
|
*/
|
||||||
private void checkMappingsCompatibility(IndexMetaData indexMetaData) {
|
private void checkMappingsCompatibility(IndexMetaData indexMetaData) {
|
||||||
Index index = new Index(indexMetaData.getIndex());
|
|
||||||
Settings settings = indexMetaData.getSettings();
|
|
||||||
try {
|
try {
|
||||||
SimilarityService similarityService = new SimilarityService(index, settings);
|
|
||||||
// We cannot instantiate real analysis server at this point because the node might not have
|
// We cannot instantiate real analysis server at this point because the node might not have
|
||||||
// been started yet. However, we don't really need real analyzers at this stage - so we can fake it
|
// been started yet. However, we don't really need real analyzers at this stage - so we can fake it
|
||||||
try (AnalysisService analysisService = new FakeAnalysisService(index, settings)) {
|
IndexSettings indexSettings = new IndexSettings(indexMetaData, this.settings, Collections.EMPTY_LIST);
|
||||||
try (MapperService mapperService = new MapperService(index, settings, analysisService, similarityService, scriptService)) {
|
SimilarityService similarityService = new SimilarityService(indexSettings, Collections.EMPTY_MAP);
|
||||||
|
|
||||||
|
|
||||||
|
try (AnalysisService analysisService = new FakeAnalysisService(indexSettings)) {
|
||||||
|
try (MapperService mapperService = new MapperService(indexSettings, analysisService, similarityService, scriptService)) {
|
||||||
for (ObjectCursor<MappingMetaData> cursor : indexMetaData.getMappings().values()) {
|
for (ObjectCursor<MappingMetaData> cursor : indexMetaData.getMappings().values()) {
|
||||||
MappingMetaData mappingMetaData = cursor.value;
|
MappingMetaData mappingMetaData = cursor.value;
|
||||||
mapperService.merge(mappingMetaData.type(), mappingMetaData.source(), false, false);
|
mapperService.merge(mappingMetaData.type(), mappingMetaData.source(), false, false);
|
||||||
|
@ -253,8 +256,8 @@ public class MetaDataIndexUpgradeService extends AbstractComponent {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public FakeAnalysisService(Index index, Settings indexSettings) {
|
public FakeAnalysisService(IndexSettings indexSettings) {
|
||||||
super(index, indexSettings);
|
super(indexSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -38,7 +38,6 @@ import org.elasticsearch.common.io.FileSystemUtils;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.unit.TimeValue;
|
import org.elasticsearch.common.unit.TimeValue;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.Index;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
import org.elasticsearch.index.shard.ShardId;
|
import org.elasticsearch.index.shard.ShardId;
|
||||||
import org.elasticsearch.index.store.FsDirectoryService;
|
import org.elasticsearch.index.store.FsDirectoryService;
|
||||||
import org.elasticsearch.monitor.fs.FsInfo;
|
import org.elasticsearch.monitor.fs.FsInfo;
|
||||||
|
@ -309,7 +308,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
* @param shardId the id of the shard to delete to delete
|
* @param shardId the id of the shard to delete to delete
|
||||||
* @throws IOException if an IOException occurs
|
* @throws IOException if an IOException occurs
|
||||||
*/
|
*/
|
||||||
public void deleteShardDirectorySafe(ShardId shardId, @IndexSettings Settings indexSettings) throws IOException {
|
public void deleteShardDirectorySafe(ShardId shardId, Settings indexSettings) throws IOException {
|
||||||
// This is to ensure someone doesn't use Settings.EMPTY
|
// This is to ensure someone doesn't use Settings.EMPTY
|
||||||
assert indexSettings != Settings.EMPTY;
|
assert indexSettings != Settings.EMPTY;
|
||||||
final Path[] paths = availableShardPaths(shardId);
|
final Path[] paths = availableShardPaths(shardId);
|
||||||
|
@ -326,7 +325,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
*
|
*
|
||||||
* @throws LockObtainFailedException if any of the locks could not be acquired
|
* @throws LockObtainFailedException if any of the locks could not be acquired
|
||||||
*/
|
*/
|
||||||
public static void acquireFSLockForPaths(@IndexSettings Settings indexSettings, Path... shardPaths) throws IOException {
|
public static void acquireFSLockForPaths(Settings indexSettings, Path... shardPaths) throws IOException {
|
||||||
Lock[] locks = new Lock[shardPaths.length];
|
Lock[] locks = new Lock[shardPaths.length];
|
||||||
Directory[] dirs = new Directory[shardPaths.length];
|
Directory[] dirs = new Directory[shardPaths.length];
|
||||||
try {
|
try {
|
||||||
|
@ -360,7 +359,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
* @throws IOException if an IOException occurs
|
* @throws IOException if an IOException occurs
|
||||||
* @throws ElasticsearchException if the write.lock is not acquirable
|
* @throws ElasticsearchException if the write.lock is not acquirable
|
||||||
*/
|
*/
|
||||||
public void deleteShardDirectoryUnderLock(ShardLock lock, @IndexSettings Settings indexSettings) throws IOException {
|
public void deleteShardDirectoryUnderLock(ShardLock lock, Settings indexSettings) throws IOException {
|
||||||
assert indexSettings != Settings.EMPTY;
|
assert indexSettings != Settings.EMPTY;
|
||||||
final ShardId shardId = lock.getShardId();
|
final ShardId shardId = lock.getShardId();
|
||||||
assert isShardLocked(shardId) : "shard " + shardId + " is not locked";
|
assert isShardLocked(shardId) : "shard " + shardId + " is not locked";
|
||||||
|
@ -398,7 +397,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
* @param indexSettings settings for the index being deleted
|
* @param indexSettings settings for the index being deleted
|
||||||
* @throws IOException if any of the shards data directories can't be locked or deleted
|
* @throws IOException if any of the shards data directories can't be locked or deleted
|
||||||
*/
|
*/
|
||||||
public void deleteIndexDirectorySafe(Index index, long lockTimeoutMS, @IndexSettings Settings indexSettings) throws IOException {
|
public void deleteIndexDirectorySafe(Index index, long lockTimeoutMS, Settings indexSettings) throws IOException {
|
||||||
// This is to ensure someone doesn't use Settings.EMPTY
|
// This is to ensure someone doesn't use Settings.EMPTY
|
||||||
assert indexSettings != Settings.EMPTY;
|
assert indexSettings != Settings.EMPTY;
|
||||||
final List<ShardLock> locks = lockAllForIndex(index, indexSettings, lockTimeoutMS);
|
final List<ShardLock> locks = lockAllForIndex(index, indexSettings, lockTimeoutMS);
|
||||||
|
@ -416,7 +415,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
* @param index the index to delete
|
* @param index the index to delete
|
||||||
* @param indexSettings settings for the index being deleted
|
* @param indexSettings settings for the index being deleted
|
||||||
*/
|
*/
|
||||||
public void deleteIndexDirectoryUnderLock(Index index, @IndexSettings Settings indexSettings) throws IOException {
|
public void deleteIndexDirectoryUnderLock(Index index, Settings indexSettings) throws IOException {
|
||||||
// This is to ensure someone doesn't use Settings.EMPTY
|
// This is to ensure someone doesn't use Settings.EMPTY
|
||||||
assert indexSettings != Settings.EMPTY;
|
assert indexSettings != Settings.EMPTY;
|
||||||
final Path[] indexPaths = indexPaths(index);
|
final Path[] indexPaths = indexPaths(index);
|
||||||
|
@ -439,7 +438,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
* @return the {@link ShardLock} instances for this index.
|
* @return the {@link ShardLock} instances for this index.
|
||||||
* @throws IOException if an IOException occurs.
|
* @throws IOException if an IOException occurs.
|
||||||
*/
|
*/
|
||||||
public List<ShardLock> lockAllForIndex(Index index, @IndexSettings Settings settings, long lockTimeoutMS) throws IOException {
|
public List<ShardLock> lockAllForIndex(Index index, Settings settings, long lockTimeoutMS) throws IOException {
|
||||||
final Integer numShards = settings.getAsInt(IndexMetaData.SETTING_NUMBER_OF_SHARDS, null);
|
final Integer numShards = settings.getAsInt(IndexMetaData.SETTING_NUMBER_OF_SHARDS, null);
|
||||||
if (numShards == null || numShards <= 0) {
|
if (numShards == null || numShards <= 0) {
|
||||||
throw new IllegalArgumentException("settings must contain a non-null > 0 number of shards");
|
throw new IllegalArgumentException("settings must contain a non-null > 0 number of shards");
|
||||||
|
@ -785,7 +784,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
* @param indexSettings settings for an index
|
* @param indexSettings settings for an index
|
||||||
* @return true if the index has a custom data path
|
* @return true if the index has a custom data path
|
||||||
*/
|
*/
|
||||||
public static boolean hasCustomDataPath(@IndexSettings Settings indexSettings) {
|
public static boolean hasCustomDataPath(Settings indexSettings) {
|
||||||
return indexSettings.get(IndexMetaData.SETTING_DATA_PATH) != null;
|
return indexSettings.get(IndexMetaData.SETTING_DATA_PATH) != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -796,7 +795,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
*
|
*
|
||||||
* @param indexSettings settings for the index
|
* @param indexSettings settings for the index
|
||||||
*/
|
*/
|
||||||
private Path resolveCustomLocation(@IndexSettings Settings indexSettings) {
|
private Path resolveCustomLocation(Settings indexSettings) {
|
||||||
assert indexSettings != Settings.EMPTY;
|
assert indexSettings != Settings.EMPTY;
|
||||||
String customDataDir = indexSettings.get(IndexMetaData.SETTING_DATA_PATH);
|
String customDataDir = indexSettings.get(IndexMetaData.SETTING_DATA_PATH);
|
||||||
if (customDataDir != null) {
|
if (customDataDir != null) {
|
||||||
|
@ -820,7 +819,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
* @param indexSettings settings for the index
|
* @param indexSettings settings for the index
|
||||||
* @param indexName index to resolve the path for
|
* @param indexName index to resolve the path for
|
||||||
*/
|
*/
|
||||||
private Path resolveCustomLocation(@IndexSettings Settings indexSettings, final String indexName) {
|
private Path resolveCustomLocation(Settings indexSettings, final String indexName) {
|
||||||
return resolveCustomLocation(indexSettings).resolve(indexName);
|
return resolveCustomLocation(indexSettings).resolve(indexName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -832,7 +831,7 @@ public class NodeEnvironment extends AbstractComponent implements Closeable {
|
||||||
* @param indexSettings settings for the index
|
* @param indexSettings settings for the index
|
||||||
* @param shardId shard to resolve the path to
|
* @param shardId shard to resolve the path to
|
||||||
*/
|
*/
|
||||||
public Path resolveCustomLocation(@IndexSettings Settings indexSettings, final ShardId shardId) {
|
public Path resolveCustomLocation(Settings indexSettings, final ShardId shardId) {
|
||||||
return resolveCustomLocation(indexSettings, shardId.index().name()).resolve(Integer.toString(shardId.id()));
|
return resolveCustomLocation(indexSettings, shardId.index().name()).resolve(Integer.toString(shardId.id()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,15 +30,8 @@ import org.elasticsearch.cluster.routing.allocation.RoutingAllocation;
|
||||||
import org.elasticsearch.cluster.routing.allocation.decider.Decision;
|
import org.elasticsearch.cluster.routing.allocation.decider.Decision;
|
||||||
import org.elasticsearch.common.component.AbstractComponent;
|
import org.elasticsearch.common.component.AbstractComponent;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The primary shard allocator allocates primary shard that were not created as
|
* The primary shard allocator allocates primary shard that were not created as
|
||||||
|
@ -77,8 +70,9 @@ public abstract class PrimaryShardAllocator extends AbstractComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
IndexMetaData indexMetaData = metaData.index(shard.getIndex());
|
IndexMetaData indexMetaData = metaData.index(shard.getIndex());
|
||||||
|
Settings indexSettings = Settings.builder().put(settings).put(indexMetaData.getSettings()).build();
|
||||||
|
|
||||||
NodesAndVersions nodesAndVersions = buildNodesAndVersions(shard, recoverOnAnyNode(indexMetaData.getSettings()), allocation.getIgnoreNodes(shard.shardId()), shardState);
|
NodesAndVersions nodesAndVersions = buildNodesAndVersions(shard, recoverOnAnyNode(indexSettings), allocation.getIgnoreNodes(shard.shardId()), shardState);
|
||||||
logger.debug("[{}][{}] found {} allocations of {}, highest version: [{}]", shard.index(), shard.id(), nodesAndVersions.allocationsFound, shard, nodesAndVersions.highestVersion);
|
logger.debug("[{}][{}] found {} allocations of {}, highest version: [{}]", shard.index(), shard.id(), nodesAndVersions.allocationsFound, shard, nodesAndVersions.highestVersion);
|
||||||
|
|
||||||
if (isEnoughAllocationsFound(shard, indexMetaData, nodesAndVersions) == false) {
|
if (isEnoughAllocationsFound(shard, indexMetaData, nodesAndVersions) == false) {
|
||||||
|
@ -263,7 +257,7 @@ public abstract class PrimaryShardAllocator extends AbstractComponent {
|
||||||
* Return {@code true} if the index is configured to allow shards to be
|
* Return {@code true} if the index is configured to allow shards to be
|
||||||
* recovered on any node
|
* recovered on any node
|
||||||
*/
|
*/
|
||||||
private boolean recoverOnAnyNode(@IndexSettings Settings idxSettings) {
|
private boolean recoverOnAnyNode(Settings idxSettings) {
|
||||||
return IndexMetaData.isOnSharedFilesystem(idxSettings) &&
|
return IndexMetaData.isOnSharedFilesystem(idxSettings) &&
|
||||||
idxSettings.getAsBoolean(IndexMetaData.SETTING_SHARED_FS_ALLOW_RECOVERY_ON_ANY_NODE, false);
|
idxSettings.getAsBoolean(IndexMetaData.SETTING_SHARED_FS_ALLOW_RECOVERY_ON_ANY_NODE, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,8 @@ import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.NodeEnvironment;
|
import org.elasticsearch.env.NodeEnvironment;
|
||||||
|
import org.elasticsearch.index.Index;
|
||||||
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.shard.ShardId;
|
import org.elasticsearch.index.shard.ShardId;
|
||||||
import org.elasticsearch.index.shard.ShardPath;
|
import org.elasticsearch.index.shard.ShardPath;
|
||||||
import org.elasticsearch.index.shard.ShardStateMetaData;
|
import org.elasticsearch.index.shard.ShardStateMetaData;
|
||||||
|
@ -48,6 +50,7 @@ import org.elasticsearch.transport.TransportService;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.atomic.AtomicReferenceArray;
|
import java.util.concurrent.atomic.AtomicReferenceArray;
|
||||||
|
|
||||||
|
@ -128,7 +131,8 @@ public class TransportNodesListGatewayStartedShards extends TransportNodesAction
|
||||||
if (metaData != null) {
|
if (metaData != null) {
|
||||||
ShardPath shardPath = null;
|
ShardPath shardPath = null;
|
||||||
try {
|
try {
|
||||||
shardPath = ShardPath.loadShardPath(logger, nodeEnv, shardId, metaData.getSettings());
|
IndexSettings indexSettings = new IndexSettings(metaData, settings, Collections.EMPTY_LIST);
|
||||||
|
shardPath = ShardPath.loadShardPath(logger, nodeEnv, shardId, indexSettings);
|
||||||
if (shardPath == null) {
|
if (shardPath == null) {
|
||||||
throw new IllegalStateException(shardId + " no shard path found");
|
throw new IllegalStateException(shardId + " no shard path found");
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,6 @@ import org.elasticsearch.common.logging.DeprecationLogger;
|
||||||
import org.elasticsearch.common.logging.ESLogger;
|
import org.elasticsearch.common.logging.ESLogger;
|
||||||
import org.elasticsearch.common.logging.Loggers;
|
import org.elasticsearch.common.logging.Loggers;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -32,32 +31,23 @@ public abstract class AbstractIndexComponent implements IndexComponent {
|
||||||
|
|
||||||
protected final ESLogger logger;
|
protected final ESLogger logger;
|
||||||
protected final DeprecationLogger deprecationLogger;
|
protected final DeprecationLogger deprecationLogger;
|
||||||
protected final Index index;
|
protected final IndexSettings indexSettings;
|
||||||
protected final Settings indexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new index component, with the index name and its settings.
|
* Constructs a new index component, with the index name and its settings.
|
||||||
*
|
|
||||||
* @param index The index name
|
|
||||||
* @param indexSettings The index settings
|
|
||||||
*/
|
*/
|
||||||
protected AbstractIndexComponent(Index index, @IndexSettings Settings indexSettings) {
|
protected AbstractIndexComponent(IndexSettings indexSettings) {
|
||||||
this.index = index;
|
this.logger = Loggers.getLogger(getClass(), indexSettings.getSettings(), indexSettings.getIndex());
|
||||||
this.indexSettings = indexSettings;
|
|
||||||
this.logger = Loggers.getLogger(getClass(), indexSettings, index);
|
|
||||||
this.deprecationLogger = new DeprecationLogger(logger);
|
this.deprecationLogger = new DeprecationLogger(logger);
|
||||||
|
this.indexSettings = indexSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Index index() {
|
public Index index() {
|
||||||
return this.index;
|
return indexSettings.getIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Settings indexSettings() {
|
public IndexSettings getIndexSettings() {
|
||||||
return indexSettings;
|
return indexSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String nodeName() {
|
|
||||||
return indexSettings.get("name", "");
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -24,7 +24,6 @@ import org.elasticsearch.common.Nullable;
|
||||||
import org.elasticsearch.common.logging.ESLogger;
|
import org.elasticsearch.common.logging.ESLogger;
|
||||||
import org.elasticsearch.common.logging.Loggers;
|
import org.elasticsearch.common.logging.Loggers;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
import org.elasticsearch.index.shard.IndexShard;
|
import org.elasticsearch.index.shard.IndexShard;
|
||||||
import org.elasticsearch.index.shard.IndexShardState;
|
import org.elasticsearch.index.shard.IndexShardState;
|
||||||
import org.elasticsearch.index.shard.IndexEventListener;
|
import org.elasticsearch.index.shard.IndexEventListener;
|
||||||
|
@ -43,14 +42,14 @@ final class CompositeIndexEventListener implements IndexEventListener {
|
||||||
private final List<IndexEventListener> listeners;
|
private final List<IndexEventListener> listeners;
|
||||||
private final ESLogger logger;
|
private final ESLogger logger;
|
||||||
|
|
||||||
CompositeIndexEventListener(String index, Settings indexSettings, Collection<IndexEventListener> listeners) {
|
CompositeIndexEventListener(IndexSettings indexSettings, Collection<IndexEventListener> listeners) {
|
||||||
for (IndexEventListener listener : listeners) {
|
for (IndexEventListener listener : listeners) {
|
||||||
if (listener == null) {
|
if (listener == null) {
|
||||||
throw new IllegalArgumentException("listeners must be non-null");
|
throw new IllegalArgumentException("listeners must be non-null");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.listeners = Collections.unmodifiableList(new ArrayList<>(listeners));
|
this.listeners = Collections.unmodifiableList(new ArrayList<>(listeners));
|
||||||
this.logger = Loggers.getLogger(getClass(), indexSettings, index);
|
this.logger = Loggers.getLogger(getClass(), indexSettings.getSettings(), indexSettings.getIndex());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -139,7 +138,7 @@ final class CompositeIndexEventListener implements IndexEventListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeIndexCreated(Index index, @IndexSettings Settings indexSettings) {
|
public void beforeIndexCreated(Index index, Settings indexSettings) {
|
||||||
for (IndexEventListener listener : listeners) {
|
for (IndexEventListener listener : listeners) {
|
||||||
try {
|
try {
|
||||||
listener.beforeIndexCreated(index, indexSettings);
|
listener.beforeIndexCreated(index, indexSettings);
|
||||||
|
@ -199,7 +198,7 @@ final class CompositeIndexEventListener implements IndexEventListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterIndexDeleted(Index index, @IndexSettings Settings indexSettings) {
|
public void afterIndexDeleted(Index index, Settings indexSettings) {
|
||||||
for (IndexEventListener listener : listeners) {
|
for (IndexEventListener listener : listeners) {
|
||||||
try {
|
try {
|
||||||
listener.afterIndexDeleted(index, indexSettings);
|
listener.afterIndexDeleted(index, indexSettings);
|
||||||
|
@ -211,7 +210,7 @@ final class CompositeIndexEventListener implements IndexEventListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterIndexClosed(Index index, @IndexSettings Settings indexSettings) {
|
public void afterIndexClosed(Index index, Settings indexSettings) {
|
||||||
for (IndexEventListener listener : listeners) {
|
for (IndexEventListener listener : listeners) {
|
||||||
try {
|
try {
|
||||||
listener.afterIndexClosed(index, indexSettings);
|
listener.afterIndexClosed(index, indexSettings);
|
||||||
|
@ -224,7 +223,7 @@ final class CompositeIndexEventListener implements IndexEventListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeIndexShardDeleted(ShardId shardId,
|
public void beforeIndexShardDeleted(ShardId shardId,
|
||||||
@IndexSettings Settings indexSettings) {
|
Settings indexSettings) {
|
||||||
for (IndexEventListener listener : listeners) {
|
for (IndexEventListener listener : listeners) {
|
||||||
try {
|
try {
|
||||||
listener.beforeIndexShardDeleted(shardId, indexSettings);
|
listener.beforeIndexShardDeleted(shardId, indexSettings);
|
||||||
|
@ -237,7 +236,7 @@ final class CompositeIndexEventListener implements IndexEventListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterIndexShardDeleted(ShardId shardId,
|
public void afterIndexShardDeleted(ShardId shardId,
|
||||||
@IndexSettings Settings indexSettings) {
|
Settings indexSettings) {
|
||||||
for (IndexEventListener listener : listeners) {
|
for (IndexEventListener listener : listeners) {
|
||||||
try {
|
try {
|
||||||
listener.afterIndexShardDeleted(shardId, indexSettings);
|
listener.afterIndexShardDeleted(shardId, indexSettings);
|
||||||
|
@ -249,7 +248,7 @@ final class CompositeIndexEventListener implements IndexEventListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void beforeIndexAddedToCluster(Index index, @IndexSettings Settings indexSettings) {
|
public void beforeIndexAddedToCluster(Index index, Settings indexSettings) {
|
||||||
for (IndexEventListener listener : listeners) {
|
for (IndexEventListener listener : listeners) {
|
||||||
try {
|
try {
|
||||||
listener.beforeIndexAddedToCluster(index, indexSettings);
|
listener.beforeIndexAddedToCluster(index, indexSettings);
|
||||||
|
|
|
@ -31,32 +31,66 @@ import org.elasticsearch.index.shard.IndexEventListener;
|
||||||
import org.elasticsearch.index.shard.IndexSearcherWrapper;
|
import org.elasticsearch.index.shard.IndexSearcherWrapper;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class IndexModule extends AbstractModule {
|
public class IndexModule extends AbstractModule {
|
||||||
|
|
||||||
private final IndexMetaData indexMetaData;
|
private final IndexSettings indexSettings;
|
||||||
private final Settings settings;
|
|
||||||
// pkg private so tests can mock
|
// pkg private so tests can mock
|
||||||
Class<? extends EngineFactory> engineFactoryImpl = InternalEngineFactory.class;
|
Class<? extends EngineFactory> engineFactoryImpl = InternalEngineFactory.class;
|
||||||
Class<? extends IndexSearcherWrapper> indexSearcherWrapper = null;
|
Class<? extends IndexSearcherWrapper> indexSearcherWrapper = null;
|
||||||
|
private final Set<Consumer<Settings>> settingsConsumers = new HashSet<>();
|
||||||
private final Set<IndexEventListener> indexEventListeners = new HashSet<>();
|
private final Set<IndexEventListener> indexEventListeners = new HashSet<>();
|
||||||
private IndexEventListener listener;
|
private IndexEventListener listener;
|
||||||
|
|
||||||
|
|
||||||
public IndexModule(Settings settings, IndexMetaData indexMetaData) {
|
public IndexModule(IndexSettings indexSettings) {
|
||||||
this.indexMetaData = indexMetaData;
|
this.indexSettings = indexSettings;
|
||||||
this.settings = settings;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Settings getIndexSettings() {
|
/**
|
||||||
return settings;
|
* Adds a settings consumer for this index
|
||||||
|
*/
|
||||||
|
public void addIndexSettingsListener(Consumer<Settings> listener) {
|
||||||
|
if (listener == null) {
|
||||||
|
throw new IllegalArgumentException("listener must not be null");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (settingsConsumers.contains(listener)) {
|
||||||
|
throw new IllegalStateException("listener already registered");
|
||||||
|
}
|
||||||
|
settingsConsumers.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index {@link Settings} for this index
|
||||||
|
*/
|
||||||
|
public Settings getSettings() {
|
||||||
|
return indexSettings.getSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index this module is associated with
|
||||||
|
*/
|
||||||
|
public Index getIndex() {
|
||||||
|
return indexSettings.getIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds an {@link IndexEventListener} for this index. All listeners added here
|
||||||
|
* are maintained for the entire index lifecycle on this node. Once an index is closed or deleted these
|
||||||
|
* listeners go out of scope.
|
||||||
|
* <p>
|
||||||
|
* Note: an index might be created on a node multiple times. For instance if the last shard from an index is
|
||||||
|
* relocated to another node the internal representation will be destroyed which includes the registered listeners.
|
||||||
|
* Once the node holds at least one shard of an index all modules are reloaded and listeners are registered again.
|
||||||
|
* Listeners can't be unregistered they will stay alive for the entire time the index is allocated on a node.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
public void addIndexEventListener(IndexEventListener listener) {
|
public void addIndexEventListener(IndexEventListener listener) {
|
||||||
if (this.listener != null) {
|
if (this.listener != null) {
|
||||||
throw new IllegalStateException("can't add listener after listeners are frozen");
|
throw new IllegalStateException("can't add listener after listeners are frozen");
|
||||||
|
@ -74,7 +108,7 @@ public class IndexModule extends AbstractModule {
|
||||||
public IndexEventListener freeze() {
|
public IndexEventListener freeze() {
|
||||||
// TODO somehow we need to make this pkg private...
|
// TODO somehow we need to make this pkg private...
|
||||||
if (listener == null) {
|
if (listener == null) {
|
||||||
listener = new CompositeIndexEventListener(indexMetaData.getIndex(), settings, indexEventListeners);
|
listener = new CompositeIndexEventListener(indexSettings, indexEventListeners);
|
||||||
}
|
}
|
||||||
return listener;
|
return listener;
|
||||||
}
|
}
|
||||||
|
@ -88,10 +122,11 @@ public class IndexModule extends AbstractModule {
|
||||||
bind(IndexSearcherWrapper.class).to(indexSearcherWrapper).asEagerSingleton();
|
bind(IndexSearcherWrapper.class).to(indexSearcherWrapper).asEagerSingleton();
|
||||||
}
|
}
|
||||||
bind(IndexEventListener.class).toInstance(freeze());
|
bind(IndexEventListener.class).toInstance(freeze());
|
||||||
bind(IndexMetaData.class).toInstance(indexMetaData);
|
|
||||||
bind(IndexService.class).asEagerSingleton();
|
bind(IndexService.class).asEagerSingleton();
|
||||||
bind(IndexServicesProvider.class).asEagerSingleton();
|
bind(IndexServicesProvider.class).asEagerSingleton();
|
||||||
bind(MapperService.class).asEagerSingleton();
|
bind(MapperService.class).asEagerSingleton();
|
||||||
bind(IndexFieldDataService.class).asEagerSingleton();
|
bind(IndexFieldDataService.class).asEagerSingleton();
|
||||||
|
bind(IndexSettings.class).toInstance(new IndexSettings(indexSettings.getIndexMetaData(), indexSettings.getNodeSettings(), settingsConsumers));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
/*
|
|
||||||
* Licensed to Elasticsearch under one or more contributor
|
|
||||||
* license agreements. See the NOTICE file distributed with
|
|
||||||
* this work for additional information regarding copyright
|
|
||||||
* ownership. Elasticsearch licenses this file to you under
|
|
||||||
* the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing,
|
|
||||||
* software distributed under the License is distributed on an
|
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
* KIND, either express or implied. See the License for the
|
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.elasticsearch.index;
|
|
||||||
|
|
||||||
import org.elasticsearch.common.inject.AbstractModule;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class IndexNameModule extends AbstractModule {
|
|
||||||
|
|
||||||
private final Index index;
|
|
||||||
|
|
||||||
public IndexNameModule(Index index) {
|
|
||||||
this.index = index;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void configure() {
|
|
||||||
bind(Index.class).toInstance(index);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -24,7 +24,6 @@ import org.apache.lucene.search.BooleanQuery;
|
||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.apache.lucene.util.Accountable;
|
import org.apache.lucene.util.Accountable;
|
||||||
import org.apache.lucene.util.IOUtils;
|
import org.apache.lucene.util.IOUtils;
|
||||||
import org.elasticsearch.ElasticsearchException;
|
|
||||||
import org.elasticsearch.cluster.metadata.AliasMetaData;
|
import org.elasticsearch.cluster.metadata.AliasMetaData;
|
||||||
import org.elasticsearch.cluster.metadata.IndexMetaData;
|
import org.elasticsearch.cluster.metadata.IndexMetaData;
|
||||||
import org.elasticsearch.cluster.routing.ShardRouting;
|
import org.elasticsearch.cluster.routing.ShardRouting;
|
||||||
|
@ -46,7 +45,6 @@ import org.elasticsearch.index.mapper.MappedFieldType;
|
||||||
import org.elasticsearch.index.mapper.MapperService;
|
import org.elasticsearch.index.mapper.MapperService;
|
||||||
import org.elasticsearch.index.query.IndexQueryParserService;
|
import org.elasticsearch.index.query.IndexQueryParserService;
|
||||||
import org.elasticsearch.index.query.ParsedQuery;
|
import org.elasticsearch.index.query.ParsedQuery;
|
||||||
import org.elasticsearch.index.settings.IndexSettingsService;
|
|
||||||
import org.elasticsearch.index.shard.*;
|
import org.elasticsearch.index.shard.*;
|
||||||
import org.elasticsearch.index.similarity.SimilarityService;
|
import org.elasticsearch.index.similarity.SimilarityService;
|
||||||
import org.elasticsearch.index.store.IndexStore;
|
import org.elasticsearch.index.store.IndexStore;
|
||||||
|
@ -73,7 +71,6 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
private final AnalysisService analysisService;
|
private final AnalysisService analysisService;
|
||||||
private final IndexFieldDataService indexFieldData;
|
private final IndexFieldDataService indexFieldData;
|
||||||
private final BitsetFilterCache bitsetFilterCache;
|
private final BitsetFilterCache bitsetFilterCache;
|
||||||
private final IndexSettingsService settingsService;
|
|
||||||
private final NodeEnvironment nodeEnv;
|
private final NodeEnvironment nodeEnv;
|
||||||
private final IndicesService indicesServices;
|
private final IndicesService indicesServices;
|
||||||
private final IndexServicesProvider indexServicesProvider;
|
private final IndexServicesProvider indexServicesProvider;
|
||||||
|
@ -81,30 +78,27 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
private volatile Map<Integer, IndexShard> shards = emptyMap();
|
private volatile Map<Integer, IndexShard> shards = emptyMap();
|
||||||
private final AtomicBoolean closed = new AtomicBoolean(false);
|
private final AtomicBoolean closed = new AtomicBoolean(false);
|
||||||
private final AtomicBoolean deleted = new AtomicBoolean(false);
|
private final AtomicBoolean deleted = new AtomicBoolean(false);
|
||||||
private volatile IndexMetaData indexMetaData;
|
private final IndexSettings indexSettings;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public IndexService(Index index, IndexMetaData indexMetaData, NodeEnvironment nodeEnv,
|
public IndexService(IndexSettings indexSettings, NodeEnvironment nodeEnv,
|
||||||
AnalysisService analysisService,
|
AnalysisService analysisService,
|
||||||
IndexSettingsService settingsService,
|
|
||||||
IndexFieldDataService indexFieldData,
|
IndexFieldDataService indexFieldData,
|
||||||
BitsetFilterCache bitSetFilterCache,
|
BitsetFilterCache bitSetFilterCache,
|
||||||
IndicesService indicesServices,
|
IndicesService indicesServices,
|
||||||
IndexServicesProvider indexServicesProvider,
|
IndexServicesProvider indexServicesProvider,
|
||||||
IndexStore indexStore,
|
IndexStore indexStore,
|
||||||
IndexEventListener eventListener) {
|
IndexEventListener eventListener) {
|
||||||
super(index, settingsService.indexSettings());
|
super(indexSettings);
|
||||||
assert indexMetaData != null;
|
this.indexSettings = indexSettings;
|
||||||
this.analysisService = analysisService;
|
this.analysisService = analysisService;
|
||||||
this.indexFieldData = indexFieldData;
|
this.indexFieldData = indexFieldData;
|
||||||
this.settingsService = settingsService;
|
|
||||||
this.bitsetFilterCache = bitSetFilterCache;
|
this.bitsetFilterCache = bitSetFilterCache;
|
||||||
this.indicesServices = indicesServices;
|
this.indicesServices = indicesServices;
|
||||||
this.eventListener = eventListener;
|
this.eventListener = eventListener;
|
||||||
this.nodeEnv = nodeEnv;
|
this.nodeEnv = nodeEnv;
|
||||||
this.indexServicesProvider = indexServicesProvider;
|
this.indexServicesProvider = indexServicesProvider;
|
||||||
this.indexStore = indexStore;
|
this.indexStore = indexStore;
|
||||||
this.indexMetaData = indexMetaData;
|
|
||||||
indexFieldData.setListener(new FieldDataCacheListener(this));
|
indexFieldData.setListener(new FieldDataCacheListener(this));
|
||||||
bitSetFilterCache.setListener(new BitsetCacheListener(this));
|
bitSetFilterCache.setListener(new BitsetCacheListener(this));
|
||||||
}
|
}
|
||||||
|
@ -140,18 +134,12 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
public IndexShard getShard(int shardId) {
|
public IndexShard getShard(int shardId) {
|
||||||
IndexShard indexShard = getShardOrNull(shardId);
|
IndexShard indexShard = getShardOrNull(shardId);
|
||||||
if (indexShard == null) {
|
if (indexShard == null) {
|
||||||
throw new ShardNotFoundException(new ShardId(index, shardId));
|
throw new ShardNotFoundException(new ShardId(index(), shardId));
|
||||||
}
|
}
|
||||||
return indexShard;
|
return indexShard;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<Integer> shardIds() {
|
public Set<Integer> shardIds() { return shards.keySet(); }
|
||||||
return shards.keySet();
|
|
||||||
}
|
|
||||||
|
|
||||||
public IndexSettingsService settingsService() {
|
|
||||||
return this.settingsService;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IndexCache cache() {
|
public IndexCache cache() {
|
||||||
return indexServicesProvider.getIndexCache();
|
return indexServicesProvider.getIndexCache();
|
||||||
|
@ -197,7 +185,7 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
|
|
||||||
|
|
||||||
public String indexUUID() {
|
public String indexUUID() {
|
||||||
return indexSettings.get(IndexMetaData.SETTING_INDEX_UUID, IndexMetaData.INDEX_UUID_NA_VALUE);
|
return indexSettings.getUUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: O(numShards) cost, but numShards should be smallish?
|
// NOTE: O(numShards) cost, but numShards should be smallish?
|
||||||
|
@ -223,10 +211,10 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
* keep it synced.
|
* keep it synced.
|
||||||
*/
|
*/
|
||||||
if (closed.get()) {
|
if (closed.get()) {
|
||||||
throw new IllegalStateException("Can't create shard [" + index.name() + "][" + sShardId + "], closed");
|
throw new IllegalStateException("Can't create shard [" + index().name() + "][" + sShardId + "], closed");
|
||||||
}
|
}
|
||||||
final Settings indexSettings = settingsService.getSettings();
|
final Settings indexSettings = this.indexSettings.getSettings();
|
||||||
final ShardId shardId = new ShardId(index, sShardId);
|
final ShardId shardId = new ShardId(index(), sShardId);
|
||||||
boolean success = false;
|
boolean success = false;
|
||||||
Store store = null;
|
Store store = null;
|
||||||
IndexShard indexShard = null;
|
IndexShard indexShard = null;
|
||||||
|
@ -235,12 +223,12 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
eventListener.beforeIndexShardCreated(shardId, indexSettings);
|
eventListener.beforeIndexShardCreated(shardId, indexSettings);
|
||||||
ShardPath path;
|
ShardPath path;
|
||||||
try {
|
try {
|
||||||
path = ShardPath.loadShardPath(logger, nodeEnv, shardId, indexSettings);
|
path = ShardPath.loadShardPath(logger, nodeEnv, shardId, this.indexSettings);
|
||||||
} catch (IllegalStateException ex) {
|
} catch (IllegalStateException ex) {
|
||||||
logger.warn("{} failed to load shard path, trying to remove leftover", shardId);
|
logger.warn("{} failed to load shard path, trying to remove leftover", shardId);
|
||||||
try {
|
try {
|
||||||
ShardPath.deleteLeftoverShardDirectory(logger, nodeEnv, lock, indexSettings);
|
ShardPath.deleteLeftoverShardDirectory(logger, nodeEnv, lock, this.indexSettings);
|
||||||
path = ShardPath.loadShardPath(logger, nodeEnv, shardId, indexSettings);
|
path = ShardPath.loadShardPath(logger, nodeEnv, shardId, this.indexSettings);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
t.addSuppressed(ex);
|
t.addSuppressed(ex);
|
||||||
throw t;
|
throw t;
|
||||||
|
@ -260,7 +248,7 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
}
|
}
|
||||||
dataPathToShardCount.put(dataPath, curCount+1);
|
dataPathToShardCount.put(dataPath, curCount+1);
|
||||||
}
|
}
|
||||||
path = ShardPath.selectNewPathForShard(nodeEnv, shardId, indexSettings, routing.getExpectedShardSize() == ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE ? getAvgShardSizeInBytes() : routing.getExpectedShardSize(),
|
path = ShardPath.selectNewPathForShard(nodeEnv, shardId, this.indexSettings, routing.getExpectedShardSize() == ShardRouting.UNAVAILABLE_EXPECTED_SHARD_SIZE ? getAvgShardSizeInBytes() : routing.getExpectedShardSize(),
|
||||||
dataPathToShardCount);
|
dataPathToShardCount);
|
||||||
logger.debug("{} creating using a new path [{}]", shardId, path);
|
logger.debug("{} creating using a new path [{}]", shardId, path);
|
||||||
} else {
|
} else {
|
||||||
|
@ -275,16 +263,15 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
// if we are on a shared FS we only own the shard (ie. we can safely delete it) if we are the primary.
|
// if we are on a shared FS we only own the shard (ie. we can safely delete it) if we are the primary.
|
||||||
final boolean canDeleteShardContent = IndexMetaData.isOnSharedFilesystem(indexSettings) == false ||
|
final boolean canDeleteShardContent = IndexMetaData.isOnSharedFilesystem(indexSettings) == false ||
|
||||||
(primary && IndexMetaData.isOnSharedFilesystem(indexSettings));
|
(primary && IndexMetaData.isOnSharedFilesystem(indexSettings));
|
||||||
store = new Store(shardId, indexSettings, indexStore.newDirectoryService(path), lock, new StoreCloseListener(shardId, canDeleteShardContent, () -> indexServicesProvider.getIndicesQueryCache().onClose(shardId)));
|
store = new Store(shardId, this.indexSettings, indexStore.newDirectoryService(path), lock, new StoreCloseListener(shardId, canDeleteShardContent, () -> indexServicesProvider.getIndicesQueryCache().onClose(shardId)));
|
||||||
if (useShadowEngine(primary, indexSettings)) {
|
if (useShadowEngine(primary, indexSettings)) {
|
||||||
indexShard = new ShadowIndexShard(shardId, indexSettings, path, store, indexServicesProvider);
|
indexShard = new ShadowIndexShard(shardId, this.indexSettings, path, store, indexServicesProvider);
|
||||||
} else {
|
} else {
|
||||||
indexShard = new IndexShard(shardId, indexSettings, path, store, indexServicesProvider);
|
indexShard = new IndexShard(shardId, this.indexSettings, path, store, indexServicesProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
eventListener.indexShardStateChanged(indexShard, null, indexShard.state(), "shard created");
|
eventListener.indexShardStateChanged(indexShard, null, indexShard.state(), "shard created");
|
||||||
eventListener.afterIndexShardCreated(indexShard);
|
eventListener.afterIndexShardCreated(indexShard);
|
||||||
settingsService.addListener(indexShard);
|
|
||||||
shards = newMapBuilder(shards).put(shardId.id(), indexShard).immutableMap();
|
shards = newMapBuilder(shards).put(shardId.id(), indexShard).immutableMap();
|
||||||
success = true;
|
success = true;
|
||||||
return indexShard;
|
return indexShard;
|
||||||
|
@ -301,7 +288,7 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void removeShard(int shardId, String reason) {
|
public synchronized void removeShard(int shardId, String reason) {
|
||||||
final ShardId sId = new ShardId(index, shardId);
|
final ShardId sId = new ShardId(index(), shardId);
|
||||||
final IndexShard indexShard;
|
final IndexShard indexShard;
|
||||||
if (shards.containsKey(shardId) == false) {
|
if (shards.containsKey(shardId) == false) {
|
||||||
return;
|
return;
|
||||||
|
@ -316,7 +303,7 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
|
|
||||||
private void closeShard(String reason, ShardId sId, IndexShard indexShard, Store store, IndexEventListener listener) {
|
private void closeShard(String reason, ShardId sId, IndexShard indexShard, Store store, IndexEventListener listener) {
|
||||||
final int shardId = sId.id();
|
final int shardId = sId.id();
|
||||||
final Settings indexSettings = settingsService.getSettings();
|
final Settings indexSettings = this.getIndexSettings().getSettings();
|
||||||
try {
|
try {
|
||||||
try {
|
try {
|
||||||
listener.beforeIndexShardClosed(sId, indexShard, indexSettings);
|
listener.beforeIndexShardClosed(sId, indexShard, indexSettings);
|
||||||
|
@ -324,7 +311,6 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
// this logic is tricky, we want to close the engine so we rollback the changes done to it
|
// this logic is tricky, we want to close the engine so we rollback the changes done to it
|
||||||
// and close the shard so no operations are allowed to it
|
// and close the shard so no operations are allowed to it
|
||||||
if (indexShard != null) {
|
if (indexShard != null) {
|
||||||
settingsService.removeListener(indexShard);
|
|
||||||
try {
|
try {
|
||||||
final boolean flushEngine = deleted.get() == false && closed.get(); // only flush we are we closed (closed index or shutdown) and if we are not deleted
|
final boolean flushEngine = deleted.get() == false && closed.get(); // only flush we are we closed (closed index or shutdown) and if we are not deleted
|
||||||
indexShard.close(reason, flushEngine);
|
indexShard.close(reason, flushEngine);
|
||||||
|
@ -348,7 +334,7 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
|
|
||||||
private void onShardClose(ShardLock lock, boolean ownsShard) {
|
private void onShardClose(ShardLock lock, boolean ownsShard) {
|
||||||
if (deleted.get()) { // we remove that shards content if this index has been deleted
|
if (deleted.get()) { // we remove that shards content if this index has been deleted
|
||||||
final Settings indexSettings = settingsService.getSettings();
|
final Settings indexSettings = this.getIndexSettings().getSettings();
|
||||||
try {
|
try {
|
||||||
if (ownsShard) {
|
if (ownsShard) {
|
||||||
try {
|
try {
|
||||||
|
@ -369,6 +355,10 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
return indexServicesProvider;
|
return indexServicesProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IndexSettings getIndexSettings() {
|
||||||
|
return indexSettings;
|
||||||
|
}
|
||||||
|
|
||||||
private class StoreCloseListener implements Store.OnClose {
|
private class StoreCloseListener implements Store.OnClose {
|
||||||
private final ShardId shardId;
|
private final ShardId shardId;
|
||||||
private final boolean ownsShard;
|
private final boolean ownsShard;
|
||||||
|
@ -396,10 +386,6 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Settings getIndexSettings() {
|
|
||||||
return settingsService.getSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final class BitsetCacheListener implements BitsetFilterCache.Listener {
|
private static final class BitsetCacheListener implements BitsetFilterCache.Listener {
|
||||||
final IndexService indexService;
|
final IndexService indexService;
|
||||||
|
|
||||||
|
@ -468,12 +454,12 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final IndexQueryParserService indexQueryParser = queryParserService();
|
final IndexQueryParserService indexQueryParser = queryParserService();
|
||||||
final ImmutableOpenMap<String, AliasMetaData> aliases = this.indexMetaData.getAliases();
|
final ImmutableOpenMap<String, AliasMetaData> aliases = indexSettings.getIndexMetaData().getAliases();
|
||||||
if (aliasNames.length == 1) {
|
if (aliasNames.length == 1) {
|
||||||
AliasMetaData alias = aliases.get(aliasNames[0]);
|
AliasMetaData alias = aliases.get(aliasNames[0]);
|
||||||
if (alias == null) {
|
if (alias == null) {
|
||||||
// This shouldn't happen unless alias disappeared after filteringAliases was called.
|
// This shouldn't happen unless alias disappeared after filteringAliases was called.
|
||||||
throw new InvalidAliasNameException(index, aliasNames[0], "Unknown alias name was passed to alias Filter");
|
throw new InvalidAliasNameException(index(), aliasNames[0], "Unknown alias name was passed to alias Filter");
|
||||||
}
|
}
|
||||||
return parse(alias, indexQueryParser);
|
return parse(alias, indexQueryParser);
|
||||||
} else {
|
} else {
|
||||||
|
@ -513,11 +499,24 @@ public class IndexService extends AbstractIndexComponent implements IndexCompone
|
||||||
}
|
}
|
||||||
|
|
||||||
public IndexMetaData getMetaData() {
|
public IndexMetaData getMetaData() {
|
||||||
return indexMetaData;
|
return indexSettings.getIndexMetaData();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateMetaData(IndexMetaData metadata) {
|
public synchronized void updateMetaData(final IndexMetaData metadata) {
|
||||||
this.indexMetaData = metadata;
|
if (indexSettings.updateIndexMetaData(metadata)) {
|
||||||
|
final Settings settings = indexSettings.getSettings();
|
||||||
|
for (final IndexShard shard : this.shards.values()) {
|
||||||
|
try {
|
||||||
|
shard.onRefreshSettings(settings);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.warn("[{}] failed to refresh shard settings", e, shard.shardId().id());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
indexStore.onRefreshSettings(settings);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.warn("failed to refresh index store settings", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,190 @@
|
||||||
|
/*
|
||||||
|
* Licensed to Elasticsearch under one or more contributor
|
||||||
|
* license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright
|
||||||
|
* ownership. Elasticsearch licenses this file to you under
|
||||||
|
* the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
package org.elasticsearch.index;
|
||||||
|
|
||||||
|
import org.elasticsearch.Version;
|
||||||
|
import org.elasticsearch.cluster.metadata.IndexMetaData;
|
||||||
|
import org.elasticsearch.common.logging.ESLogger;
|
||||||
|
import org.elasticsearch.common.logging.Loggers;
|
||||||
|
import org.elasticsearch.common.settings.Settings;
|
||||||
|
import org.elasticsearch.env.NodeEnvironment;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class encapsulates all index level settings and handles settings updates.
|
||||||
|
* It's created per index and available to all index level classes and allows them to retrieve
|
||||||
|
* the latest updated settings instance. Classes that need to listen to settings updates can register
|
||||||
|
* a settings consumer at index creation via {@link IndexModule#addIndexSettingsListener(Consumer)} that will
|
||||||
|
* be called for each settings update.
|
||||||
|
*/
|
||||||
|
public final class IndexSettings {
|
||||||
|
private final String uuid;
|
||||||
|
private final List<Consumer<Settings>> updateListeners;
|
||||||
|
private final Index index;
|
||||||
|
private final Version version;
|
||||||
|
private final ESLogger logger;
|
||||||
|
private final String nodeName;
|
||||||
|
private final Settings nodeSettings;
|
||||||
|
private final int numberOfShards;
|
||||||
|
private final boolean isShadowReplicaIndex;
|
||||||
|
// volatile fields are updated via #updateIndexMetaData(IndexMetaData) under lock
|
||||||
|
private volatile Settings settings;
|
||||||
|
private volatile IndexMetaData indexMetaData;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new {@link IndexSettings} instance. The given node settings will be merged with the settings in the metadata
|
||||||
|
* while index level settings will overwrite node settings.
|
||||||
|
*
|
||||||
|
* @param indexMetaData the index metadata this settings object is associated with
|
||||||
|
* @param nodeSettings the nodes settings this index is allocated on.
|
||||||
|
* @param updateListeners a collection of listeners / consumers that should be notified if one or more settings are updated
|
||||||
|
*/
|
||||||
|
public IndexSettings(final IndexMetaData indexMetaData, final Settings nodeSettings, final Collection<Consumer<Settings>> updateListeners) {
|
||||||
|
this.nodeSettings = nodeSettings;
|
||||||
|
this.settings = Settings.builder().put(nodeSettings).put(indexMetaData.getSettings()).build();
|
||||||
|
this.updateListeners = Collections.unmodifiableList(new ArrayList<>(updateListeners));
|
||||||
|
this.index = new Index(indexMetaData.getIndex());
|
||||||
|
version = Version.indexCreated(settings);
|
||||||
|
uuid = settings.get(IndexMetaData.SETTING_INDEX_UUID, IndexMetaData.INDEX_UUID_NA_VALUE);
|
||||||
|
logger = Loggers.getLogger(getClass(), settings, index);
|
||||||
|
nodeName = settings.get("name", "");
|
||||||
|
this.indexMetaData = indexMetaData;
|
||||||
|
numberOfShards = settings.getAsInt(IndexMetaData.SETTING_NUMBER_OF_SHARDS, null);
|
||||||
|
isShadowReplicaIndex = IndexMetaData.isIndexUsingShadowReplicas(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the settings for this index. These settings contain the node and index level settings where
|
||||||
|
* settings that are specified on both index and node level are overwritten by the index settings.
|
||||||
|
*/
|
||||||
|
public Settings getSettings() { return settings; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the index this settings object belongs to
|
||||||
|
*/
|
||||||
|
public Index getIndex() {
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the indexes UUID
|
||||||
|
*/
|
||||||
|
public String getUUID() {
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns <code>true</code> if the index has a custom data path
|
||||||
|
*/
|
||||||
|
public boolean hasCustomDataPath() {
|
||||||
|
return NodeEnvironment.hasCustomDataPath(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the version the index was created on.
|
||||||
|
* @see Version#indexCreated(Settings)
|
||||||
|
*/
|
||||||
|
public Version getIndexVersionCreated() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current node name
|
||||||
|
*/
|
||||||
|
public String getNodeName() {
|
||||||
|
return nodeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current IndexMetaData for this index
|
||||||
|
*/
|
||||||
|
public IndexMetaData getIndexMetaData() {
|
||||||
|
return indexMetaData;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the number of shards this index has.
|
||||||
|
*/
|
||||||
|
public int getNumberOfShards() { return numberOfShards; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the number of replicas this index has.
|
||||||
|
*/
|
||||||
|
public int getNumberOfReplicas() { return settings.getAsInt(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, null); }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns <code>true</code> iff this index uses shadow replicas.
|
||||||
|
* @see IndexMetaData#isIndexUsingShadowReplicas(Settings)
|
||||||
|
*/
|
||||||
|
public boolean isShadowReplicaIndex() {
|
||||||
|
return isShadowReplicaIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the node settings. The settings retured from {@link #getSettings()} are a merged version of the
|
||||||
|
* index settings and the node settings where node settings are overwritten by index settings.
|
||||||
|
*/
|
||||||
|
public Settings getNodeSettings() {
|
||||||
|
return nodeSettings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the settings and index metadata and notifies all registered settings consumers with the new settings iff at least one setting has changed.
|
||||||
|
*
|
||||||
|
* @return <code>true</code> iff any setting has been updated otherwise <code>false</code>.
|
||||||
|
*/
|
||||||
|
synchronized boolean updateIndexMetaData(IndexMetaData indexMetaData) {
|
||||||
|
final Settings newSettings = indexMetaData.getSettings();
|
||||||
|
if (Version.indexCreated(newSettings) != version) {
|
||||||
|
throw new IllegalArgumentException("version mismatch on settings update expected: " + version + " but was: " + Version.indexCreated(newSettings));
|
||||||
|
}
|
||||||
|
final String newUUID = newSettings.get(IndexMetaData.SETTING_INDEX_UUID, IndexMetaData.INDEX_UUID_NA_VALUE);
|
||||||
|
if (newUUID.equals(getUUID()) == false) {
|
||||||
|
throw new IllegalArgumentException("uuid mismatch on settings update expected: " + uuid + " but was: " + newUUID);
|
||||||
|
}
|
||||||
|
this.indexMetaData = indexMetaData;
|
||||||
|
final Settings existingSettings = this.settings;
|
||||||
|
if (existingSettings.getByPrefix(IndexMetaData.INDEX_SETTING_PREFIX).getAsMap().equals(newSettings.getByPrefix(IndexMetaData.INDEX_SETTING_PREFIX).getAsMap())) {
|
||||||
|
// nothing to update, same settings
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
final Settings mergedSettings = this.settings = Settings.builder().put(nodeSettings).put(newSettings).build();
|
||||||
|
for (final Consumer<Settings> consumer : updateListeners) {
|
||||||
|
try {
|
||||||
|
consumer.accept(mergedSettings);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.warn("failed to refresh index settings for [{}]", e, mergedSettings);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all settings update consumers
|
||||||
|
*/
|
||||||
|
List<Consumer<Settings>> getUpdateListeners() { // for testing
|
||||||
|
return updateListeners;
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for ASCIIFoldingFilter.
|
* Factory for ASCIIFoldingFilter.
|
||||||
|
@ -34,8 +33,8 @@ public class ASCIIFoldingTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final boolean preserveOriginal;
|
private final boolean preserveOriginal;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ASCIIFoldingTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ASCIIFoldingTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
preserveOriginal = settings.getAsBoolean("preserve_original", false);
|
preserveOriginal = settings.getAsBoolean("preserve_original", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,10 +19,8 @@
|
||||||
|
|
||||||
package org.elasticsearch.index.analysis;
|
package org.elasticsearch.index.analysis;
|
||||||
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
|
||||||
import org.elasticsearch.index.AbstractIndexComponent;
|
import org.elasticsearch.index.AbstractIndexComponent;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -31,8 +29,8 @@ public abstract class AbstractCharFilterFactory extends AbstractIndexComponent i
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
|
|
||||||
public AbstractCharFilterFactory(Index index, @IndexSettings Settings indexSettings, String name) {
|
public AbstractCharFilterFactory(IndexSettings indexSettings, String name) {
|
||||||
super(index, indexSettings);
|
super(indexSettings);
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.Analyzer;
|
||||||
import org.apache.lucene.util.Version;
|
import org.apache.lucene.util.Version;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.AbstractIndexComponent;
|
import org.elasticsearch.index.AbstractIndexComponent;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -38,14 +37,13 @@ public abstract class AbstractIndexAnalyzerProvider<T extends Analyzer> extends
|
||||||
/**
|
/**
|
||||||
* Constructs a new analyzer component, with the index name and its settings and the analyzer name.
|
* Constructs a new analyzer component, with the index name and its settings and the analyzer name.
|
||||||
*
|
*
|
||||||
* @param index The index name
|
* @param indexSettings the settings and the name of the index
|
||||||
* @param indexSettings The index settings
|
|
||||||
* @param name The analyzer name
|
* @param name The analyzer name
|
||||||
*/
|
*/
|
||||||
public AbstractIndexAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, String name, Settings settings) {
|
public AbstractIndexAnalyzerProvider(IndexSettings indexSettings, String name, Settings settings) {
|
||||||
super(index, indexSettings);
|
super(indexSettings);
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.version = Analysis.parseAnalysisVersion(indexSettings, settings, logger);
|
this.version = Analysis.parseAnalysisVersion(this.indexSettings.getSettings(), settings, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -22,8 +22,7 @@ package org.elasticsearch.index.analysis;
|
||||||
import org.apache.lucene.util.Version;
|
import org.apache.lucene.util.Version;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.AbstractIndexComponent;
|
import org.elasticsearch.index.AbstractIndexComponent;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -34,10 +33,10 @@ public abstract class AbstractTokenFilterFactory extends AbstractIndexComponent
|
||||||
|
|
||||||
protected final Version version;
|
protected final Version version;
|
||||||
|
|
||||||
public AbstractTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, String name, Settings settings) {
|
public AbstractTokenFilterFactory(IndexSettings indexSettings, String name, Settings settings) {
|
||||||
super(index, indexSettings);
|
super(indexSettings);
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.version = Analysis.parseAnalysisVersion(indexSettings, settings, logger);
|
this.version = Analysis.parseAnalysisVersion(this.indexSettings.getSettings(), settings, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -22,8 +22,7 @@ package org.elasticsearch.index.analysis;
|
||||||
import org.apache.lucene.util.Version;
|
import org.apache.lucene.util.Version;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.AbstractIndexComponent;
|
import org.elasticsearch.index.AbstractIndexComponent;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -35,10 +34,10 @@ public abstract class AbstractTokenizerFactory extends AbstractIndexComponent im
|
||||||
protected final Version version;
|
protected final Version version;
|
||||||
|
|
||||||
|
|
||||||
public AbstractTokenizerFactory(Index index, @IndexSettings Settings indexSettings, String name, Settings settings) {
|
public AbstractTokenizerFactory(IndexSettings indexSettings, String name, Settings settings) {
|
||||||
super(index, indexSettings);
|
super(indexSettings);
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.version = Analysis.parseAnalysisVersion(indexSettings, settings, logger);
|
this.version = Analysis.parseAnalysisVersion(this.indexSettings.getSettings(), settings, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -63,21 +63,13 @@ import org.elasticsearch.common.logging.ESLogger;
|
||||||
import org.elasticsearch.common.lucene.Lucene;
|
import org.elasticsearch.common.lucene.Lucene;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import static java.util.Collections.unmodifiableMap;
|
import static java.util.Collections.unmodifiableMap;
|
||||||
|
|
||||||
|
@ -86,7 +78,7 @@ import static java.util.Collections.unmodifiableMap;
|
||||||
*/
|
*/
|
||||||
public class Analysis {
|
public class Analysis {
|
||||||
|
|
||||||
public static Version parseAnalysisVersion(@IndexSettings Settings indexSettings, Settings settings, ESLogger logger) {
|
public static Version parseAnalysisVersion(Settings indexSettings, Settings settings, ESLogger logger) {
|
||||||
// check for explicit version on the specific analyzer component
|
// check for explicit version on the specific analyzer component
|
||||||
String sVersion = settings.get("version");
|
String sVersion = settings.get("version");
|
||||||
if (sVersion != null) {
|
if (sVersion != null) {
|
||||||
|
|
|
@ -27,9 +27,8 @@ import org.elasticsearch.common.Strings;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.AbstractIndexComponent;
|
import org.elasticsearch.index.AbstractIndexComponent;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.mapper.core.StringFieldMapper;
|
import org.elasticsearch.index.mapper.core.StringFieldMapper;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
import org.elasticsearch.indices.analysis.IndicesAnalysisService;
|
import org.elasticsearch.indices.analysis.IndicesAnalysisService;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
|
@ -53,21 +52,21 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
private final NamedAnalyzer defaultSearchQuoteAnalyzer;
|
private final NamedAnalyzer defaultSearchQuoteAnalyzer;
|
||||||
|
|
||||||
|
|
||||||
public AnalysisService(Index index, Settings indexSettings) {
|
public AnalysisService(IndexSettings indexSettings) {
|
||||||
this(index, indexSettings, null, null, null, null, null);
|
this(indexSettings, null, null, null, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public AnalysisService(Index index, @IndexSettings Settings indexSettings, @Nullable IndicesAnalysisService indicesAnalysisService,
|
public AnalysisService(IndexSettings indexSettings, @Nullable IndicesAnalysisService indicesAnalysisService,
|
||||||
@Nullable Map<String, AnalyzerProviderFactory> analyzerFactoryFactories,
|
@Nullable Map<String, AnalyzerProviderFactory> analyzerFactoryFactories,
|
||||||
@Nullable Map<String, TokenizerFactoryFactory> tokenizerFactoryFactories,
|
@Nullable Map<String, TokenizerFactoryFactory> tokenizerFactoryFactories,
|
||||||
@Nullable Map<String, CharFilterFactoryFactory> charFilterFactoryFactories,
|
@Nullable Map<String, CharFilterFactoryFactory> charFilterFactoryFactories,
|
||||||
@Nullable Map<String, TokenFilterFactoryFactory> tokenFilterFactoryFactories) {
|
@Nullable Map<String, TokenFilterFactoryFactory> tokenFilterFactoryFactories) {
|
||||||
super(index, indexSettings);
|
super(indexSettings);
|
||||||
Settings defaultSettings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.indexCreated(indexSettings)).build();
|
Settings defaultSettings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, indexSettings.getIndexVersionCreated()).build();
|
||||||
Map<String, TokenizerFactory> tokenizers = new HashMap<>();
|
Map<String, TokenizerFactory> tokenizers = new HashMap<>();
|
||||||
if (tokenizerFactoryFactories != null) {
|
if (tokenizerFactoryFactories != null) {
|
||||||
Map<String, Settings> tokenizersSettings = indexSettings.getGroups("index.analysis.tokenizer");
|
Map<String, Settings> tokenizersSettings = this.indexSettings.getSettings().getGroups("index.analysis.tokenizer");
|
||||||
for (Map.Entry<String, TokenizerFactoryFactory> entry : tokenizerFactoryFactories.entrySet()) {
|
for (Map.Entry<String, TokenizerFactoryFactory> entry : tokenizerFactoryFactories.entrySet()) {
|
||||||
String tokenizerName = entry.getKey();
|
String tokenizerName = entry.getKey();
|
||||||
TokenizerFactoryFactory tokenizerFactoryFactory = entry.getValue();
|
TokenizerFactoryFactory tokenizerFactoryFactory = entry.getValue();
|
||||||
|
@ -102,7 +101,7 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
|
|
||||||
Map<String, CharFilterFactory> charFilters = new HashMap<>();
|
Map<String, CharFilterFactory> charFilters = new HashMap<>();
|
||||||
if (charFilterFactoryFactories != null) {
|
if (charFilterFactoryFactories != null) {
|
||||||
Map<String, Settings> charFiltersSettings = indexSettings.getGroups("index.analysis.char_filter");
|
Map<String, Settings> charFiltersSettings = this.indexSettings.getSettings().getGroups("index.analysis.char_filter");
|
||||||
for (Map.Entry<String, CharFilterFactoryFactory> entry : charFilterFactoryFactories.entrySet()) {
|
for (Map.Entry<String, CharFilterFactoryFactory> entry : charFilterFactoryFactories.entrySet()) {
|
||||||
String charFilterName = entry.getKey();
|
String charFilterName = entry.getKey();
|
||||||
CharFilterFactoryFactory charFilterFactoryFactory = entry.getValue();
|
CharFilterFactoryFactory charFilterFactoryFactory = entry.getValue();
|
||||||
|
@ -137,7 +136,7 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
|
|
||||||
Map<String, TokenFilterFactory> tokenFilters = new HashMap<>();
|
Map<String, TokenFilterFactory> tokenFilters = new HashMap<>();
|
||||||
if (tokenFilterFactoryFactories != null) {
|
if (tokenFilterFactoryFactories != null) {
|
||||||
Map<String, Settings> tokenFiltersSettings = indexSettings.getGroups("index.analysis.filter");
|
Map<String, Settings> tokenFiltersSettings = this.indexSettings.getSettings().getGroups("index.analysis.filter");
|
||||||
for (Map.Entry<String, TokenFilterFactoryFactory> entry : tokenFilterFactoryFactories.entrySet()) {
|
for (Map.Entry<String, TokenFilterFactoryFactory> entry : tokenFilterFactoryFactories.entrySet()) {
|
||||||
String tokenFilterName = entry.getKey();
|
String tokenFilterName = entry.getKey();
|
||||||
TokenFilterFactoryFactory tokenFilterFactoryFactory = entry.getValue();
|
TokenFilterFactoryFactory tokenFilterFactoryFactory = entry.getValue();
|
||||||
|
@ -172,7 +171,7 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
|
|
||||||
Map<String, AnalyzerProvider> analyzerProviders = new HashMap<>();
|
Map<String, AnalyzerProvider> analyzerProviders = new HashMap<>();
|
||||||
if (analyzerFactoryFactories != null) {
|
if (analyzerFactoryFactories != null) {
|
||||||
Map<String, Settings> analyzersSettings = indexSettings.getGroups("index.analysis.analyzer");
|
Map<String, Settings> analyzersSettings = this.indexSettings.getSettings().getGroups("index.analysis.analyzer");
|
||||||
for (Map.Entry<String, AnalyzerProviderFactory> entry : analyzerFactoryFactories.entrySet()) {
|
for (Map.Entry<String, AnalyzerProviderFactory> entry : analyzerFactoryFactories.entrySet()) {
|
||||||
String analyzerName = entry.getKey();
|
String analyzerName = entry.getKey();
|
||||||
AnalyzerProviderFactory analyzerFactoryFactory = entry.getValue();
|
AnalyzerProviderFactory analyzerFactoryFactory = entry.getValue();
|
||||||
|
@ -189,7 +188,7 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
if (indicesAnalysisService != null) {
|
if (indicesAnalysisService != null) {
|
||||||
for (Map.Entry<String, PreBuiltAnalyzerProviderFactory> entry : indicesAnalysisService.analyzerProviderFactories().entrySet()) {
|
for (Map.Entry<String, PreBuiltAnalyzerProviderFactory> entry : indicesAnalysisService.analyzerProviderFactories().entrySet()) {
|
||||||
String name = entry.getKey();
|
String name = entry.getKey();
|
||||||
Version indexVersion = Version.indexCreated(indexSettings);
|
Version indexVersion = indexSettings.getIndexVersionCreated();
|
||||||
if (!analyzerProviders.containsKey(name)) {
|
if (!analyzerProviders.containsKey(name)) {
|
||||||
analyzerProviders.put(name, entry.getValue().create(name, Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, indexVersion).build()));
|
analyzerProviders.put(name, entry.getValue().create(name, Settings.settingsBuilder().put(IndexMetaData.SETTING_VERSION_CREATED, indexVersion).build()));
|
||||||
}
|
}
|
||||||
|
@ -201,7 +200,7 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!analyzerProviders.containsKey("default")) {
|
if (!analyzerProviders.containsKey("default")) {
|
||||||
analyzerProviders.put("default", new StandardAnalyzerProvider(index, indexSettings, null, "default", Settings.Builder.EMPTY_SETTINGS));
|
analyzerProviders.put("default", new StandardAnalyzerProvider(indexSettings, null, "default", Settings.Builder.EMPTY_SETTINGS));
|
||||||
}
|
}
|
||||||
if (!analyzerProviders.containsKey("default_index")) {
|
if (!analyzerProviders.containsKey("default_index")) {
|
||||||
analyzerProviders.put("default_index", analyzerProviders.get("default"));
|
analyzerProviders.put("default_index", analyzerProviders.get("default"));
|
||||||
|
@ -221,7 +220,7 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
* and 100 afterwards so we override the positionIncrementGap if it
|
* and 100 afterwards so we override the positionIncrementGap if it
|
||||||
* doesn't match here.
|
* doesn't match here.
|
||||||
*/
|
*/
|
||||||
int overridePositionIncrementGap = StringFieldMapper.Defaults.positionIncrementGap(Version.indexCreated(indexSettings));
|
int overridePositionIncrementGap = StringFieldMapper.Defaults.positionIncrementGap(indexSettings.getIndexVersionCreated());
|
||||||
if (analyzerFactory instanceof CustomAnalyzerProvider) {
|
if (analyzerFactory instanceof CustomAnalyzerProvider) {
|
||||||
((CustomAnalyzerProvider) analyzerFactory).build(this);
|
((CustomAnalyzerProvider) analyzerFactory).build(this);
|
||||||
/*
|
/*
|
||||||
|
@ -250,13 +249,13 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
}
|
}
|
||||||
analyzers.put(analyzerFactory.name(), analyzer);
|
analyzers.put(analyzerFactory.name(), analyzer);
|
||||||
analyzers.put(Strings.toCamelCase(analyzerFactory.name()), analyzer);
|
analyzers.put(Strings.toCamelCase(analyzerFactory.name()), analyzer);
|
||||||
String strAliases = indexSettings.get("index.analysis.analyzer." + analyzerFactory.name() + ".alias");
|
String strAliases = this.indexSettings.getSettings().get("index.analysis.analyzer." + analyzerFactory.name() + ".alias");
|
||||||
if (strAliases != null) {
|
if (strAliases != null) {
|
||||||
for (String alias : Strings.commaDelimitedListToStringArray(strAliases)) {
|
for (String alias : Strings.commaDelimitedListToStringArray(strAliases)) {
|
||||||
analyzers.put(alias, analyzer);
|
analyzers.put(alias, analyzer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String[] aliases = indexSettings.getAsArray("index.analysis.analyzer." + analyzerFactory.name() + ".alias");
|
String[] aliases = this.indexSettings.getSettings().getAsArray("index.analysis.analyzer." + analyzerFactory.name() + ".alias");
|
||||||
for (String alias : aliases) {
|
for (String alias : aliases) {
|
||||||
analyzers.put(alias, analyzer);
|
analyzers.put(alias, analyzer);
|
||||||
}
|
}
|
||||||
|
@ -267,11 +266,11 @@ public class AnalysisService extends AbstractIndexComponent implements Closeable
|
||||||
throw new IllegalArgumentException("no default analyzer configured");
|
throw new IllegalArgumentException("no default analyzer configured");
|
||||||
}
|
}
|
||||||
if (analyzers.containsKey("default_index")) {
|
if (analyzers.containsKey("default_index")) {
|
||||||
final Version createdVersion = Version.indexCreated(indexSettings);
|
final Version createdVersion = indexSettings.getIndexVersionCreated();
|
||||||
if (createdVersion.onOrAfter(Version.V_3_0_0)) {
|
if (createdVersion.onOrAfter(Version.V_3_0_0)) {
|
||||||
throw new IllegalArgumentException("setting [index.analysis.analyzer.default_index] is not supported anymore, use [index.analysis.analyzer.default] instead for index [" + index.getName() + "]");
|
throw new IllegalArgumentException("setting [index.analysis.analyzer.default_index] is not supported anymore, use [index.analysis.analyzer.default] instead for index [" + index().getName() + "]");
|
||||||
} else {
|
} else {
|
||||||
deprecationLogger.deprecated("setting [index.analysis.analyzer.default_index] is deprecated, use [index.analysis.analyzer.default] instead for index [{}]", index.getName());
|
deprecationLogger.deprecated("setting [index.analysis.analyzer.default_index] is deprecated, use [index.analysis.analyzer.default] instead for index [{}]", index().getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
defaultIndexAnalyzer = analyzers.containsKey("default_index") ? analyzers.get("default_index") : defaultAnalyzer;
|
defaultIndexAnalyzer = analyzers.containsKey("default_index") ? analyzers.get("default_index") : defaultAnalyzer;
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.tr.ApostropheFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link ApostropheFilter}
|
* Factory for {@link ApostropheFilter}
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class ApostropheFilterFactory extends AbstractTokenFilterFactory {
|
public class ApostropheFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ApostropheFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ApostropheFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class ArabicAnalyzerProvider extends AbstractIndexAnalyzerProvider<Arabic
|
||||||
private final ArabicAnalyzer arabicAnalyzer;
|
private final ArabicAnalyzer arabicAnalyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ArabicAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public ArabicAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
arabicAnalyzer = new ArabicAnalyzer(Analysis.parseStopWords(env, settings, ArabicAnalyzer.getDefaultStopSet()),
|
arabicAnalyzer = new ArabicAnalyzer(Analysis.parseStopWords(env, settings, ArabicAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
arabicAnalyzer.setVersion(version);
|
arabicAnalyzer.setVersion(version);
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.ar.ArabicNormalizationFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class ArabicNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
public class ArabicNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ArabicNormalizationFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ArabicNormalizationFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.ar.ArabicStemFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -33,8 +32,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class ArabicStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
public class ArabicStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ArabicStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ArabicStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class ArmenianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Arme
|
||||||
private final ArmenianAnalyzer analyzer;
|
private final ArmenianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ArmenianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public ArmenianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new ArmenianAnalyzer(Analysis.parseStopWords(env, settings, ArmenianAnalyzer.getDefaultStopSet()),
|
analyzer = new ArmenianAnalyzer(Analysis.parseStopWords(env, settings, ArmenianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class BasqueAnalyzerProvider extends AbstractIndexAnalyzerProvider<Basque
|
||||||
private final BasqueAnalyzer analyzer;
|
private final BasqueAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public BasqueAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public BasqueAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new BasqueAnalyzer(Analysis.parseStopWords(env, settings, BasqueAnalyzer.getDefaultStopSet()),
|
analyzer = new BasqueAnalyzer(Analysis.parseStopWords(env, settings, BasqueAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class BrazilianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Bra
|
||||||
private final BrazilianAnalyzer analyzer;
|
private final BrazilianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public BrazilianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public BrazilianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new BrazilianAnalyzer(Analysis.parseStopWords(env, settings, BrazilianAnalyzer.getDefaultStopSet()),
|
analyzer = new BrazilianAnalyzer(Analysis.parseStopWords(env, settings, BrazilianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -26,8 +26,7 @@ import org.apache.lucene.analysis.util.CharArraySet;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -36,8 +35,8 @@ public class BrazilianStemTokenFilterFactory extends AbstractTokenFilterFactory
|
||||||
private final CharArraySet exclusions;
|
private final CharArraySet exclusions;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public BrazilianStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public BrazilianStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.exclusions = Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET);
|
this.exclusions = Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class BulgarianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Bul
|
||||||
private final BulgarianAnalyzer analyzer;
|
private final BulgarianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public BulgarianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public BulgarianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new BulgarianAnalyzer(Analysis.parseStopWords(env, settings, BulgarianAnalyzer.getDefaultStopSet()),
|
analyzer = new BulgarianAnalyzer(Analysis.parseStopWords(env, settings, BulgarianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.cjk.CJKBigramFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -51,8 +50,8 @@ public final class CJKBigramFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final boolean outputUnigrams;
|
private final boolean outputUnigrams;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CJKBigramFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public CJKBigramFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
outputUnigrams = settings.getAsBoolean("output_unigrams", false);
|
outputUnigrams = settings.getAsBoolean("output_unigrams", false);
|
||||||
final String[] asArray = settings.getAsArray("ignored_scripts");
|
final String[] asArray = settings.getAsArray("ignored_scripts");
|
||||||
Set<String> scripts = new HashSet<>(Arrays.asList("han", "hiragana", "katakana", "hangul"));
|
Set<String> scripts = new HashSet<>(Arrays.asList("han", "hiragana", "katakana", "hangul"));
|
||||||
|
|
|
@ -23,13 +23,13 @@ import org.apache.lucene.analysis.TokenStream;
|
||||||
import org.apache.lucene.analysis.cjk.CJKWidthFilter;
|
import org.apache.lucene.analysis.cjk.CJKWidthFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
|
|
||||||
public final class CJKWidthFilterFactory extends AbstractTokenFilterFactory {
|
public final class CJKWidthFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CJKWidthFilterFactory(Index index, Settings indexSettings, String name, Settings settings) {
|
public CJKWidthFilterFactory(IndexSettings indexSettings, String name, Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class CatalanAnalyzerProvider extends AbstractIndexAnalyzerProvider<Catal
|
||||||
private final CatalanAnalyzer analyzer;
|
private final CatalanAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CatalanAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public CatalanAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new CatalanAnalyzer(Analysis.parseStopWords(env, settings, CatalanAnalyzer.getDefaultStopSet()),
|
analyzer = new CatalanAnalyzer(Analysis.parseStopWords(env, settings, CatalanAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.standard.StandardAnalyzer;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Only for old indexes
|
* Only for old indexes
|
||||||
|
@ -34,8 +33,8 @@ public class ChineseAnalyzerProvider extends AbstractIndexAnalyzerProvider<Stand
|
||||||
private final StandardAnalyzer analyzer;
|
private final StandardAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ChineseAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ChineseAnalyzerProvider(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
// old index: best effort
|
// old index: best effort
|
||||||
analyzer = new StandardAnalyzer();
|
analyzer = new StandardAnalyzer();
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class CjkAnalyzerProvider extends AbstractIndexAnalyzerProvider<CJKAnalyz
|
||||||
private final CJKAnalyzer analyzer;
|
private final CJKAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CjkAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public CjkAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
CharArraySet stopWords = Analysis.parseStopWords(env, settings, CJKAnalyzer.getDefaultStopSet());
|
CharArraySet stopWords = Analysis.parseStopWords(env, settings, CJKAnalyzer.getDefaultStopSet());
|
||||||
|
|
||||||
analyzer = new CJKAnalyzer(stopWords);
|
analyzer = new CJKAnalyzer(stopWords);
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.standard.ClassicFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link ClassicFilter}
|
* Factory for {@link ClassicFilter}
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class ClassicFilterFactory extends AbstractTokenFilterFactory {
|
public class ClassicFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ClassicFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ClassicFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.apache.lucene.analysis.standard.StandardAnalyzer;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link ClassicTokenizer}
|
* Factory for {@link ClassicTokenizer}
|
||||||
|
@ -36,8 +35,8 @@ public class ClassicTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
private final int maxTokenLength;
|
private final int maxTokenLength;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ClassicTokenizerFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ClassicTokenizerFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
maxTokenLength = settings.getAsInt("max_token_length", StandardAnalyzer.DEFAULT_MAX_TOKEN_LENGTH);
|
maxTokenLength = settings.getAsInt("max_token_length", StandardAnalyzer.DEFAULT_MAX_TOKEN_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,16 +19,15 @@
|
||||||
|
|
||||||
package org.elasticsearch.index.analysis;
|
package org.elasticsearch.index.analysis;
|
||||||
|
|
||||||
import org.apache.lucene.analysis.util.CharArraySet;
|
|
||||||
import org.apache.lucene.analysis.TokenStream;
|
import org.apache.lucene.analysis.TokenStream;
|
||||||
import org.apache.lucene.analysis.commongrams.CommonGramsFilter;
|
import org.apache.lucene.analysis.commongrams.CommonGramsFilter;
|
||||||
import org.apache.lucene.analysis.commongrams.CommonGramsQueryFilter;
|
import org.apache.lucene.analysis.commongrams.CommonGramsQueryFilter;
|
||||||
|
import org.apache.lucene.analysis.util.CharArraySet;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -43,8 +42,8 @@ public class CommonGramsTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final boolean queryMode;
|
private final boolean queryMode;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CommonGramsTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public CommonGramsTokenFilterFactory(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.ignoreCase = settings.getAsBoolean("ignore_case", false);
|
this.ignoreCase = settings.getAsBoolean("ignore_case", false);
|
||||||
this.queryMode = settings.getAsBoolean("query_mode", false);
|
this.queryMode = settings.getAsBoolean("query_mode", false);
|
||||||
this.words = Analysis.parseCommonWords(env, settings, null, ignoreCase);
|
this.words = Analysis.parseCommonWords(env, settings, null, ignoreCase);
|
||||||
|
|
|
@ -23,9 +23,8 @@ import org.elasticsearch.Version;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.mapper.core.StringFieldMapper;
|
import org.elasticsearch.index.mapper.core.StringFieldMapper;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -41,9 +40,9 @@ public class CustomAnalyzerProvider extends AbstractIndexAnalyzerProvider<Custom
|
||||||
private CustomAnalyzer customAnalyzer;
|
private CustomAnalyzer customAnalyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CustomAnalyzerProvider(Index index, @IndexSettings Settings indexSettings,
|
public CustomAnalyzerProvider(IndexSettings indexSettings,
|
||||||
@Assisted String name, @Assisted Settings settings) {
|
@Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.analyzerSettings = settings;
|
this.analyzerSettings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,10 +77,10 @@ public class CustomAnalyzerProvider extends AbstractIndexAnalyzerProvider<Custom
|
||||||
tokenFilters.add(tokenFilter);
|
tokenFilters.add(tokenFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
int positionIncrementGap = StringFieldMapper.Defaults.positionIncrementGap(Version.indexCreated(indexSettings));
|
int positionIncrementGap = StringFieldMapper.Defaults.positionIncrementGap(indexSettings.getIndexVersionCreated());
|
||||||
|
|
||||||
if (analyzerSettings.getAsMap().containsKey("position_offset_gap")){
|
if (analyzerSettings.getAsMap().containsKey("position_offset_gap")){
|
||||||
if (Version.indexCreated(indexSettings).before(Version.V_2_0_0)){
|
if (indexSettings.getIndexVersionCreated().before(Version.V_2_0_0)){
|
||||||
if (analyzerSettings.getAsMap().containsKey("position_increment_gap")){
|
if (analyzerSettings.getAsMap().containsKey("position_increment_gap")){
|
||||||
throw new IllegalArgumentException("Custom Analyzer [" + name() +
|
throw new IllegalArgumentException("Custom Analyzer [" + name() +
|
||||||
"] defined both [position_offset_gap] and [position_increment_gap], use only [position_increment_gap]");
|
"] defined both [position_offset_gap] and [position_increment_gap], use only [position_increment_gap]");
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class CzechAnalyzerProvider extends AbstractIndexAnalyzerProvider<CzechAn
|
||||||
private final CzechAnalyzer analyzer;
|
private final CzechAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CzechAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public CzechAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new CzechAnalyzer(Analysis.parseStopWords(env, settings, CzechAnalyzer.getDefaultStopSet()),
|
analyzer = new CzechAnalyzer(Analysis.parseStopWords(env, settings, CzechAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -23,14 +23,13 @@ import org.apache.lucene.analysis.cz.CzechStemFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
public class CzechStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
public class CzechStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public CzechStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public CzechStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class DanishAnalyzerProvider extends AbstractIndexAnalyzerProvider<Danish
|
||||||
private final DanishAnalyzer analyzer;
|
private final DanishAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DanishAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public DanishAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new DanishAnalyzer(Analysis.parseStopWords(env, settings, DanishAnalyzer.getDefaultStopSet()),
|
analyzer = new DanishAnalyzer(Analysis.parseStopWords(env, settings, DanishAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -23,7 +23,7 @@ import org.apache.lucene.analysis.TokenStream;
|
||||||
import org.apache.lucene.analysis.core.DecimalDigitFilter;
|
import org.apache.lucene.analysis.core.DecimalDigitFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link DecimalDigitFilter}
|
* Factory for {@link DecimalDigitFilter}
|
||||||
|
@ -31,8 +31,8 @@ import org.elasticsearch.index.Index;
|
||||||
public final class DecimalDigitFilterFactory extends AbstractTokenFilterFactory {
|
public final class DecimalDigitFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DecimalDigitFilterFactory(Index index, Settings indexSettings, String name, Settings settings) {
|
public DecimalDigitFilterFactory(IndexSettings indexSettings, String name, Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -43,9 +42,9 @@ public class DelimitedPayloadTokenFilterFactory extends AbstractTokenFilterFacto
|
||||||
PayloadEncoder encoder;
|
PayloadEncoder encoder;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DelimitedPayloadTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name,
|
public DelimitedPayloadTokenFilterFactory(IndexSettings indexSettings, Environment env, @Assisted String name,
|
||||||
@Assisted Settings settings) {
|
@Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
String delimiterConf = settings.get(DELIMITER);
|
String delimiterConf = settings.get(DELIMITER);
|
||||||
if (delimiterConf != null) {
|
if (delimiterConf != null) {
|
||||||
delimiter = delimiterConf.charAt(0);
|
delimiter = delimiterConf.charAt(0);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class DutchAnalyzerProvider extends AbstractIndexAnalyzerProvider<DutchAn
|
||||||
private final DutchAnalyzer analyzer;
|
private final DutchAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DutchAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public DutchAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new DutchAnalyzer(Analysis.parseStopWords(env, settings, DutchAnalyzer.getDefaultStopSet()),
|
analyzer = new DutchAnalyzer(Analysis.parseStopWords(env, settings, DutchAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -26,8 +26,7 @@ import org.apache.lucene.analysis.util.CharArraySet;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
import org.tartarus.snowball.ext.DutchStemmer;
|
import org.tartarus.snowball.ext.DutchStemmer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,8 +37,8 @@ public class DutchStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final CharArraySet exclusions;
|
private final CharArraySet exclusions;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public DutchStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public DutchStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.exclusions = Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET);
|
this.exclusions = Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,7 @@ import org.apache.lucene.util.Version;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -48,12 +47,12 @@ public class EdgeNGramTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private org.elasticsearch.Version esVersion;
|
private org.elasticsearch.Version esVersion;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public EdgeNGramTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public EdgeNGramTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.minGram = settings.getAsInt("min_gram", NGramTokenFilter.DEFAULT_MIN_NGRAM_SIZE);
|
this.minGram = settings.getAsInt("min_gram", NGramTokenFilter.DEFAULT_MIN_NGRAM_SIZE);
|
||||||
this.maxGram = settings.getAsInt("max_gram", NGramTokenFilter.DEFAULT_MAX_NGRAM_SIZE);
|
this.maxGram = settings.getAsInt("max_gram", NGramTokenFilter.DEFAULT_MAX_NGRAM_SIZE);
|
||||||
this.side = parseSide(settings.get("side", "front"));
|
this.side = parseSide(settings.get("side", "front"));
|
||||||
this.esVersion = org.elasticsearch.Version.indexCreated(indexSettings);
|
this.esVersion = org.elasticsearch.Version.indexCreated(indexSettings.getSettings());
|
||||||
}
|
}
|
||||||
|
|
||||||
static int parseSide(String side) {
|
static int parseSide(String side) {
|
||||||
|
|
|
@ -24,12 +24,10 @@ import org.apache.lucene.analysis.ngram.EdgeNGramTokenizer;
|
||||||
import org.apache.lucene.analysis.ngram.Lucene43EdgeNGramTokenizer;
|
import org.apache.lucene.analysis.ngram.Lucene43EdgeNGramTokenizer;
|
||||||
import org.apache.lucene.analysis.ngram.NGramTokenizer;
|
import org.apache.lucene.analysis.ngram.NGramTokenizer;
|
||||||
import org.apache.lucene.util.Version;
|
import org.apache.lucene.util.Version;
|
||||||
|
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import static org.elasticsearch.index.analysis.NGramTokenizerFactory.parseTokenChars;
|
import static org.elasticsearch.index.analysis.NGramTokenizerFactory.parseTokenChars;
|
||||||
|
|
||||||
|
@ -51,13 +49,13 @@ public class EdgeNGramTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public EdgeNGramTokenizerFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public EdgeNGramTokenizerFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.minGram = settings.getAsInt("min_gram", NGramTokenizer.DEFAULT_MIN_NGRAM_SIZE);
|
this.minGram = settings.getAsInt("min_gram", NGramTokenizer.DEFAULT_MIN_NGRAM_SIZE);
|
||||||
this.maxGram = settings.getAsInt("max_gram", NGramTokenizer.DEFAULT_MAX_NGRAM_SIZE);
|
this.maxGram = settings.getAsInt("max_gram", NGramTokenizer.DEFAULT_MAX_NGRAM_SIZE);
|
||||||
this.side = Lucene43EdgeNGramTokenizer.Side.getSide(settings.get("side", Lucene43EdgeNGramTokenizer.DEFAULT_SIDE.getLabel()));
|
this.side = Lucene43EdgeNGramTokenizer.Side.getSide(settings.get("side", Lucene43EdgeNGramTokenizer.DEFAULT_SIDE.getLabel()));
|
||||||
this.matcher = parseTokenChars(settings.getAsArray("token_chars"));
|
this.matcher = parseTokenChars(settings.getAsArray("token_chars"));
|
||||||
this.esVersion = org.elasticsearch.Version.indexCreated(indexSettings);
|
this.esVersion = indexSettings.getIndexVersionCreated();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -26,8 +26,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -37,8 +36,8 @@ public class ElisionTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final CharArraySet articles;
|
private final CharArraySet articles;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ElisionTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public ElisionTokenFilterFactory(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.articles = Analysis.parseArticles(env, settings);
|
this.articles = Analysis.parseArticles(env, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class EnglishAnalyzerProvider extends AbstractIndexAnalyzerProvider<Engli
|
||||||
private final EnglishAnalyzer analyzer;
|
private final EnglishAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public EnglishAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public EnglishAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new EnglishAnalyzer(Analysis.parseStopWords(env, settings, EnglishAnalyzer.getDefaultStopSet()),
|
analyzer = new EnglishAnalyzer(Analysis.parseStopWords(env, settings, EnglishAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class FinnishAnalyzerProvider extends AbstractIndexAnalyzerProvider<Finni
|
||||||
private final FinnishAnalyzer analyzer;
|
private final FinnishAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public FinnishAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public FinnishAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new FinnishAnalyzer(Analysis.parseStopWords(env, settings, FinnishAnalyzer.getDefaultStopSet()),
|
analyzer = new FinnishAnalyzer(Analysis.parseStopWords(env, settings, FinnishAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class FrenchAnalyzerProvider extends AbstractIndexAnalyzerProvider<French
|
||||||
private final FrenchAnalyzer analyzer;
|
private final FrenchAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public FrenchAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public FrenchAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new FrenchAnalyzer(Analysis.parseStopWords(env, settings, FrenchAnalyzer.getDefaultStopSet()),
|
analyzer = new FrenchAnalyzer(Analysis.parseStopWords(env, settings, FrenchAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -21,14 +21,13 @@ package org.elasticsearch.index.analysis;
|
||||||
|
|
||||||
import org.apache.lucene.analysis.TokenStream;
|
import org.apache.lucene.analysis.TokenStream;
|
||||||
import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
|
import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
|
||||||
import org.apache.lucene.analysis.util.CharArraySet;
|
|
||||||
import org.apache.lucene.analysis.snowball.SnowballFilter;
|
import org.apache.lucene.analysis.snowball.SnowballFilter;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.apache.lucene.analysis.util.CharArraySet;
|
||||||
import org.tartarus.snowball.ext.FrenchStemmer;
|
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
|
import org.tartarus.snowball.ext.FrenchStemmer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -38,8 +37,8 @@ public class FrenchStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final CharArraySet exclusions;
|
private final CharArraySet exclusions;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public FrenchStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public FrenchStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.exclusions = Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET);
|
this.exclusions = Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class GalicianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Gali
|
||||||
private final GalicianAnalyzer analyzer;
|
private final GalicianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public GalicianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public GalicianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new GalicianAnalyzer(Analysis.parseStopWords(env, settings, GalicianAnalyzer.getDefaultStopSet()),
|
analyzer = new GalicianAnalyzer(Analysis.parseStopWords(env, settings, GalicianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class GermanAnalyzerProvider extends AbstractIndexAnalyzerProvider<German
|
||||||
private final GermanAnalyzer analyzer;
|
private final GermanAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public GermanAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public GermanAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new GermanAnalyzer(Analysis.parseStopWords(env, settings, GermanAnalyzer.getDefaultStopSet()),
|
analyzer = new GermanAnalyzer(Analysis.parseStopWords(env, settings, GermanAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.de.GermanNormalizationFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link GermanNormalizationFilter}
|
* Factory for {@link GermanNormalizationFilter}
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class GermanNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
public class GermanNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public GermanNormalizationFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public GermanNormalizationFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -26,8 +26,7 @@ import org.apache.lucene.analysis.util.CharArraySet;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -37,8 +36,8 @@ public class GermanStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final CharArraySet exclusions;
|
private final CharArraySet exclusions;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public GermanStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public GermanStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.exclusions = Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET);
|
this.exclusions = Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -35,8 +34,8 @@ public class GreekAnalyzerProvider extends AbstractIndexAnalyzerProvider<GreekAn
|
||||||
private final GreekAnalyzer analyzer;
|
private final GreekAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public GreekAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public GreekAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new GreekAnalyzer(Analysis.parseStopWords(env, settings, GreekAnalyzer.getDefaultStopSet()));
|
analyzer = new GreekAnalyzer(Analysis.parseStopWords(env, settings, GreekAnalyzer.getDefaultStopSet()));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class HindiAnalyzerProvider extends AbstractIndexAnalyzerProvider<HindiAn
|
||||||
private final HindiAnalyzer analyzer;
|
private final HindiAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public HindiAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public HindiAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new HindiAnalyzer(Analysis.parseStopWords(env, settings, HindiAnalyzer.getDefaultStopSet()),
|
analyzer = new HindiAnalyzer(Analysis.parseStopWords(env, settings, HindiAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.hi.HindiNormalizationFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link HindiNormalizationFilter}
|
* Factory for {@link HindiNormalizationFilter}
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class HindiNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
public class HindiNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public HindiNormalizationFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public HindiNormalizationFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.charfilter.HTMLStripCharFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -36,8 +35,8 @@ public class HtmlStripCharFilterFactory extends AbstractCharFilterFactory {
|
||||||
private final Set<String> escapedTags;
|
private final Set<String> escapedTags;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public HtmlStripCharFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public HtmlStripCharFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name);
|
super(indexSettings, name);
|
||||||
String[] escapedTags = settings.getAsArray("escaped_tags");
|
String[] escapedTags = settings.getAsArray("escaped_tags");
|
||||||
if (escapedTags.length > 0) {
|
if (escapedTags.length > 0) {
|
||||||
this.escapedTags = unmodifiableSet(newHashSet(escapedTags));
|
this.escapedTags = unmodifiableSet(newHashSet(escapedTags));
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class HungarianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Hun
|
||||||
private final HungarianAnalyzer analyzer;
|
private final HungarianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public HungarianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public HungarianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new HungarianAnalyzer(Analysis.parseStopWords(env, settings, HungarianAnalyzer.getDefaultStopSet()),
|
analyzer = new HungarianAnalyzer(Analysis.parseStopWords(env, settings, HungarianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.hunspell.HunspellStemFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
import org.elasticsearch.indices.analysis.HunspellService;
|
import org.elasticsearch.indices.analysis.HunspellService;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
@ -38,8 +37,8 @@ public class HunspellTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final boolean longestOnly;
|
private final boolean longestOnly;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public HunspellTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings, HunspellService hunspellService) {
|
public HunspellTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings, HunspellService hunspellService) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
|
|
||||||
String locale = settings.get("locale", settings.get("language", settings.get("lang", null)));
|
String locale = settings.get("locale", settings.get("language", settings.get("lang", null)));
|
||||||
if (locale == null) {
|
if (locale == null) {
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.in.IndicNormalizationFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link IndicNormalizationFilter}
|
* Factory for {@link IndicNormalizationFilter}
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class IndicNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
public class IndicNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public IndicNormalizationFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public IndicNormalizationFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class IndonesianAnalyzerProvider extends AbstractIndexAnalyzerProvider<In
|
||||||
private final IndonesianAnalyzer analyzer;
|
private final IndonesianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public IndonesianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public IndonesianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new IndonesianAnalyzer(Analysis.parseStopWords(env, settings, IndonesianAnalyzer.getDefaultStopSet()),
|
analyzer = new IndonesianAnalyzer(Analysis.parseStopWords(env, settings, IndonesianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provider for {@link IrishAnalyzer}
|
* Provider for {@link IrishAnalyzer}
|
||||||
|
@ -36,8 +35,8 @@ public class IrishAnalyzerProvider extends AbstractIndexAnalyzerProvider<IrishAn
|
||||||
private final IrishAnalyzer analyzer;
|
private final IrishAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public IrishAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public IrishAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new IrishAnalyzer(Analysis.parseStopWords(env, settings, IrishAnalyzer.getDefaultStopSet()),
|
analyzer = new IrishAnalyzer(Analysis.parseStopWords(env, settings, IrishAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class ItalianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Itali
|
||||||
private final ItalianAnalyzer analyzer;
|
private final ItalianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ItalianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public ItalianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new ItalianAnalyzer(Analysis.parseStopWords(env, settings, ItalianAnalyzer.getDefaultStopSet()),
|
analyzer = new ItalianAnalyzer(Analysis.parseStopWords(env, settings, ItalianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -24,14 +24,13 @@ import org.apache.lucene.analysis.en.KStemFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
public class KStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
public class KStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public KStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public KStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -48,9 +47,9 @@ public class KeepTypesFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private static final String KEEP_TYPES_KEY = "types";
|
private static final String KEEP_TYPES_KEY = "types";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public KeepTypesFilterFactory(Index index, @IndexSettings Settings indexSettings,
|
public KeepTypesFilterFactory(IndexSettings indexSettings,
|
||||||
Environment env, @Assisted String name, @Assisted Settings settings) {
|
Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
|
|
||||||
final String[] arrayKeepTypes = settings.getAsArray(KEEP_TYPES_KEY, null);
|
final String[] arrayKeepTypes = settings.getAsArray(KEEP_TYPES_KEY, null);
|
||||||
if ((arrayKeepTypes == null)) {
|
if ((arrayKeepTypes == null)) {
|
||||||
|
|
|
@ -28,8 +28,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link TokenFilterFactory} for {@link KeepWordFilter}. This filter only
|
* A {@link TokenFilterFactory} for {@link KeepWordFilter}. This filter only
|
||||||
|
@ -62,9 +61,9 @@ public class KeepWordFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private static final String ENABLE_POS_INC_KEY = "enable_position_increments";
|
private static final String ENABLE_POS_INC_KEY = "enable_position_increments";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public KeepWordFilterFactory(Index index, @IndexSettings Settings indexSettings,
|
public KeepWordFilterFactory(IndexSettings indexSettings,
|
||||||
Environment env, @Assisted String name, @Assisted Settings settings) {
|
Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
|
|
||||||
final String[] arrayKeepWords = settings.getAsArray(KEEP_WORDS_KEY, null);
|
final String[] arrayKeepWords = settings.getAsArray(KEEP_WORDS_KEY, null);
|
||||||
final String keepWordsPath = settings.get(KEEP_WORDS_PATH_KEY, null);
|
final String keepWordsPath = settings.get(KEEP_WORDS_PATH_KEY, null);
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.core.KeywordAnalyzer;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -34,8 +33,8 @@ public class KeywordAnalyzerProvider extends AbstractIndexAnalyzerProvider<Keywo
|
||||||
private final KeywordAnalyzer keywordAnalyzer;
|
private final KeywordAnalyzer keywordAnalyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public KeywordAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public KeywordAnalyzerProvider(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.keywordAnalyzer = new KeywordAnalyzer();
|
this.keywordAnalyzer = new KeywordAnalyzer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,6 @@
|
||||||
|
|
||||||
package org.elasticsearch.index.analysis;
|
package org.elasticsearch.index.analysis;
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import org.apache.lucene.analysis.TokenStream;
|
import org.apache.lucene.analysis.TokenStream;
|
||||||
import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
|
import org.apache.lucene.analysis.miscellaneous.SetKeywordMarkerFilter;
|
||||||
import org.apache.lucene.analysis.util.CharArraySet;
|
import org.apache.lucene.analysis.util.CharArraySet;
|
||||||
|
@ -28,8 +26,9 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
@AnalysisSettingsRequired
|
@AnalysisSettingsRequired
|
||||||
public class KeywordMarkerTokenFilterFactory extends AbstractTokenFilterFactory {
|
public class KeywordMarkerTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
@ -37,8 +36,8 @@ public class KeywordMarkerTokenFilterFactory extends AbstractTokenFilterFactory
|
||||||
private final CharArraySet keywordLookup;
|
private final CharArraySet keywordLookup;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public KeywordMarkerTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public KeywordMarkerTokenFilterFactory(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
|
|
||||||
boolean ignoreCase = settings.getAsBoolean("ignore_case", false);
|
boolean ignoreCase = settings.getAsBoolean("ignore_case", false);
|
||||||
Set<?> rules = Analysis.getWordSet(env, settings, "keywords");
|
Set<?> rules = Analysis.getWordSet(env, settings, "keywords");
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.core.KeywordTokenizer;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -35,8 +34,8 @@ public class KeywordTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
private final int bufferSize;
|
private final int bufferSize;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public KeywordTokenizerFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public KeywordTokenizerFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
bufferSize = settings.getAsInt("buffer_size", 256);
|
bufferSize = settings.getAsInt("buffer_size", 256);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class LatvianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Latvi
|
||||||
private final LatvianAnalyzer analyzer;
|
private final LatvianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public LatvianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public LatvianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new LatvianAnalyzer(Analysis.parseStopWords(env, settings, LatvianAnalyzer.getDefaultStopSet()),
|
analyzer = new LatvianAnalyzer(Analysis.parseStopWords(env, settings, LatvianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -26,8 +26,7 @@ import org.apache.lucene.util.Version;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -40,8 +39,8 @@ public class LengthTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private static final String ENABLE_POS_INC_KEY = "enable_position_increments";
|
private static final String ENABLE_POS_INC_KEY = "enable_position_increments";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public LengthTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public LengthTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
min = settings.getAsInt("min", 0);
|
min = settings.getAsInt("min", 0);
|
||||||
max = settings.getAsInt("max", Integer.MAX_VALUE);
|
max = settings.getAsInt("max", Integer.MAX_VALUE);
|
||||||
if (version.onOrAfter(Version.LUCENE_4_4) && settings.get(ENABLE_POS_INC_KEY) != null) {
|
if (version.onOrAfter(Version.LUCENE_4_4) && settings.get(ENABLE_POS_INC_KEY) != null) {
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.core.LetterTokenizer;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -33,8 +32,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class LetterTokenizerFactory extends AbstractTokenizerFactory {
|
public class LetterTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public LetterTokenizerFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public LetterTokenizerFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -40,8 +39,8 @@ public class LimitTokenCountFilterFactory extends AbstractTokenFilterFactory {
|
||||||
final boolean consumeAllTokens;
|
final boolean consumeAllTokens;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public LimitTokenCountFilterFactory(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public LimitTokenCountFilterFactory(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.maxTokenCount = settings.getAsInt("max_token_count", DEFAULT_MAX_TOKEN_COUNT);
|
this.maxTokenCount = settings.getAsInt("max_token_count", DEFAULT_MAX_TOKEN_COUNT);
|
||||||
this.consumeAllTokens = settings.getAsBoolean("consume_all_tokens", DEFAULT_CONSUME_ALL_TOKENS);
|
this.consumeAllTokens = settings.getAsBoolean("consume_all_tokens", DEFAULT_CONSUME_ALL_TOKENS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provider for {@link LithuanianAnalyzer}
|
* Provider for {@link LithuanianAnalyzer}
|
||||||
|
@ -36,8 +35,8 @@ public class LithuanianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Li
|
||||||
private final LithuanianAnalyzer analyzer;
|
private final LithuanianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public LithuanianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public LithuanianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new LithuanianAnalyzer(Analysis.parseStopWords(env, settings, LithuanianAnalyzer.getDefaultStopSet()),
|
analyzer = new LithuanianAnalyzer(Analysis.parseStopWords(env, settings, LithuanianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -27,8 +27,7 @@ import org.apache.lucene.analysis.tr.TurkishLowerCaseFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link LowerCaseFilter} and some language-specific variants
|
* Factory for {@link LowerCaseFilter} and some language-specific variants
|
||||||
|
@ -44,8 +43,8 @@ public class LowerCaseTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final String lang;
|
private final String lang;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public LowerCaseTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public LowerCaseTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.lang = settings.get("language", null);
|
this.lang = settings.get("language", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.core.LowerCaseTokenizer;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -33,8 +32,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class LowerCaseTokenizerFactory extends AbstractTokenizerFactory {
|
public class LowerCaseTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public LowerCaseTokenizerFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public LowerCaseTokenizerFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -39,8 +38,8 @@ public class MappingCharFilterFactory extends AbstractCharFilterFactory {
|
||||||
private final NormalizeCharMap normMap;
|
private final NormalizeCharMap normMap;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public MappingCharFilterFactory(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public MappingCharFilterFactory(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name);
|
super(indexSettings, name);
|
||||||
|
|
||||||
List<String> rules = Analysis.getWordList(env, settings, "mappings");
|
List<String> rules = Analysis.getWordList(env, settings, "mappings");
|
||||||
if (rules == null) {
|
if (rules == null) {
|
||||||
|
|
|
@ -20,14 +20,13 @@
|
||||||
package org.elasticsearch.index.analysis;
|
package org.elasticsearch.index.analysis;
|
||||||
|
|
||||||
import org.apache.lucene.analysis.TokenStream;
|
import org.apache.lucene.analysis.TokenStream;
|
||||||
import org.apache.lucene.analysis.ngram.NGramTokenFilter;
|
|
||||||
import org.apache.lucene.analysis.ngram.Lucene43NGramTokenFilter;
|
import org.apache.lucene.analysis.ngram.Lucene43NGramTokenFilter;
|
||||||
|
import org.apache.lucene.analysis.ngram.NGramTokenFilter;
|
||||||
import org.apache.lucene.util.Version;
|
import org.apache.lucene.util.Version;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -41,8 +40,8 @@ public class NGramTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public NGramTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public NGramTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.minGram = settings.getAsInt("min_gram", NGramTokenFilter.DEFAULT_MIN_NGRAM_SIZE);
|
this.minGram = settings.getAsInt("min_gram", NGramTokenFilter.DEFAULT_MIN_NGRAM_SIZE);
|
||||||
this.maxGram = settings.getAsInt("max_gram", NGramTokenFilter.DEFAULT_MAX_NGRAM_SIZE);
|
this.maxGram = settings.getAsInt("max_gram", NGramTokenFilter.DEFAULT_MAX_NGRAM_SIZE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,8 +26,7 @@ import org.apache.lucene.util.Version;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
|
@ -90,12 +89,12 @@ public class NGramTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public NGramTokenizerFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public NGramTokenizerFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.minGram = settings.getAsInt("min_gram", NGramTokenizer.DEFAULT_MIN_NGRAM_SIZE);
|
this.minGram = settings.getAsInt("min_gram", NGramTokenizer.DEFAULT_MIN_NGRAM_SIZE);
|
||||||
this.maxGram = settings.getAsInt("max_gram", NGramTokenizer.DEFAULT_MAX_NGRAM_SIZE);
|
this.maxGram = settings.getAsInt("max_gram", NGramTokenizer.DEFAULT_MAX_NGRAM_SIZE);
|
||||||
this.matcher = parseTokenChars(settings.getAsArray("token_chars"));
|
this.matcher = parseTokenChars(settings.getAsArray("token_chars"));
|
||||||
this.esVersion = org.elasticsearch.Version.indexCreated(indexSettings);
|
this.esVersion = indexSettings.getIndexVersionCreated();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class NorwegianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Nor
|
||||||
private final NorwegianAnalyzer analyzer;
|
private final NorwegianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public NorwegianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public NorwegianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new NorwegianAnalyzer(Analysis.parseStopWords(env, settings, NorwegianAnalyzer.getDefaultStopSet()),
|
analyzer = new NorwegianAnalyzer(Analysis.parseStopWords(env, settings, NorwegianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.apache.lucene.analysis.path.ReversePathHierarchyTokenizer;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
public class PathHierarchyTokenizerFactory extends AbstractTokenizerFactory {
|
public class PathHierarchyTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
|
|
||||||
|
@ -38,8 +37,8 @@ public class PathHierarchyTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
private final boolean reverse;
|
private final boolean reverse;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PathHierarchyTokenizerFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public PathHierarchyTokenizerFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
bufferSize = settings.getAsInt("buffer_size", 1024);
|
bufferSize = settings.getAsInt("buffer_size", 1024);
|
||||||
String delimiter = settings.get("delimiter");
|
String delimiter = settings.get("delimiter");
|
||||||
if (delimiter == null) {
|
if (delimiter == null) {
|
||||||
|
|
|
@ -28,8 +28,7 @@ import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.regex.Regex;
|
import org.elasticsearch.common.regex.Regex;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@ -41,10 +40,10 @@ public class PatternAnalyzerProvider extends AbstractIndexAnalyzerProvider<Analy
|
||||||
private final PatternAnalyzer analyzer;
|
private final PatternAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PatternAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public PatternAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
|
|
||||||
Version esVersion = Version.indexCreated(indexSettings);
|
Version esVersion = indexSettings.getIndexVersionCreated();
|
||||||
final CharArraySet defaultStopwords;
|
final CharArraySet defaultStopwords;
|
||||||
if (esVersion.onOrAfter(Version.V_1_0_0_RC1)) {
|
if (esVersion.onOrAfter(Version.V_1_0_0_RC1)) {
|
||||||
defaultStopwords = CharArraySet.EMPTY_SET;
|
defaultStopwords = CharArraySet.EMPTY_SET;
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.apache.lucene.analysis.pattern.PatternCaptureGroupTokenFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@ -38,9 +37,9 @@ public class PatternCaptureGroupTokenFilterFactory extends AbstractTokenFilterFa
|
||||||
private static final String PRESERVE_ORIG_KEY = "preserve_original";
|
private static final String PRESERVE_ORIG_KEY = "preserve_original";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PatternCaptureGroupTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name,
|
public PatternCaptureGroupTokenFilterFactory(IndexSettings indexSettings, @Assisted String name,
|
||||||
@Assisted Settings settings) {
|
@Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
String[] regexes = settings.getAsArray(PATTERNS_KEY, null, false);
|
String[] regexes = settings.getAsArray(PATTERNS_KEY, null, false);
|
||||||
if (regexes == null) {
|
if (regexes == null) {
|
||||||
throw new IllegalArgumentException("required setting '" + PATTERNS_KEY + "' is missing for token filter [" + name + "]");
|
throw new IllegalArgumentException("required setting '" + PATTERNS_KEY + "' is missing for token filter [" + name + "]");
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.elasticsearch.common.Strings;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
@ -36,8 +35,8 @@ public class PatternReplaceCharFilterFactory extends AbstractCharFilterFactory {
|
||||||
private final String replacement;
|
private final String replacement;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PatternReplaceCharFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public PatternReplaceCharFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name);
|
super(indexSettings, name);
|
||||||
|
|
||||||
if (!Strings.hasLength(settings.get("pattern"))) {
|
if (!Strings.hasLength(settings.get("pattern"))) {
|
||||||
throw new IllegalArgumentException("pattern is missing for [" + name + "] char filter of type 'pattern_replace'");
|
throw new IllegalArgumentException("pattern is missing for [" + name + "] char filter of type 'pattern_replace'");
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.regex.Regex;
|
import org.elasticsearch.common.regex.Regex;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@ -38,8 +37,8 @@ public class PatternReplaceTokenFilterFactory extends AbstractTokenFilterFactory
|
||||||
private final boolean all;
|
private final boolean all;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PatternReplaceTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public PatternReplaceTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
|
|
||||||
String sPattern = settings.get("pattern", null);
|
String sPattern = settings.get("pattern", null);
|
||||||
if (sPattern == null) {
|
if (sPattern == null) {
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.regex.Regex;
|
import org.elasticsearch.common.regex.Regex;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@ -36,8 +35,8 @@ public class PatternTokenizerFactory extends AbstractTokenizerFactory {
|
||||||
private final int group;
|
private final int group;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PatternTokenizerFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public PatternTokenizerFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
|
|
||||||
String sPattern = settings.get("pattern", "\\W+" /*PatternAnalyzer.NON_WORD_PATTERN*/);
|
String sPattern = settings.get("pattern", "\\W+" /*PatternAnalyzer.NON_WORD_PATTERN*/);
|
||||||
if (sPattern == null) {
|
if (sPattern == null) {
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -35,8 +34,8 @@ public class PersianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Persi
|
||||||
private final PersianAnalyzer analyzer;
|
private final PersianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PersianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public PersianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new PersianAnalyzer(Analysis.parseStopWords(env, settings, PersianAnalyzer.getDefaultStopSet()));
|
analyzer = new PersianAnalyzer(Analysis.parseStopWords(env, settings, PersianAnalyzer.getDefaultStopSet()));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.fa.PersianNormalizationFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class PersianNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
public class PersianNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PersianNormalizationFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public PersianNormalizationFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.en.PorterStemFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -33,8 +32,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class PorterStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
public class PorterStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PorterStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public PorterStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class PortugueseAnalyzerProvider extends AbstractIndexAnalyzerProvider<Po
|
||||||
private final PortugueseAnalyzer analyzer;
|
private final PortugueseAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PortugueseAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public PortugueseAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new PortugueseAnalyzer(Analysis.parseStopWords(env, settings, PortugueseAnalyzer.getDefaultStopSet()),
|
analyzer = new PortugueseAnalyzer(Analysis.parseStopWords(env, settings, PortugueseAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.reverse.ReverseStringFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -33,8 +32,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class ReverseTokenFilterFactory extends AbstractTokenFilterFactory {
|
public class ReverseTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ReverseTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ReverseTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class RomanianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Roma
|
||||||
private final RomanianAnalyzer analyzer;
|
private final RomanianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public RomanianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public RomanianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new RomanianAnalyzer(Analysis.parseStopWords(env, settings, RomanianAnalyzer.getDefaultStopSet()),
|
analyzer = new RomanianAnalyzer(Analysis.parseStopWords(env, settings, RomanianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -25,8 +25,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -36,8 +35,8 @@ public class RussianAnalyzerProvider extends AbstractIndexAnalyzerProvider<Russi
|
||||||
private final RussianAnalyzer analyzer;
|
private final RussianAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public RussianAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public RussianAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
analyzer = new RussianAnalyzer(Analysis.parseStopWords(env, settings, RussianAnalyzer.getDefaultStopSet()),
|
analyzer = new RussianAnalyzer(Analysis.parseStopWords(env, settings, RussianAnalyzer.getDefaultStopSet()),
|
||||||
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
Analysis.parseStemExclusion(settings, CharArraySet.EMPTY_SET));
|
||||||
analyzer.setVersion(version);
|
analyzer.setVersion(version);
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.snowball.SnowballFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -33,8 +32,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class RussianStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
public class RussianStemTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public RussianStemTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public RussianStemTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.miscellaneous.ScandinavianFoldingFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link ScandinavianFoldingFilter}
|
* Factory for {@link ScandinavianFoldingFilter}
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class ScandinavianFoldingFilterFactory extends AbstractTokenFilterFactory {
|
public class ScandinavianFoldingFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ScandinavianFoldingFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ScandinavianFoldingFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.miscellaneous.ScandinavianNormalizationFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for {@link ScandinavianNormalizationFilter}
|
* Factory for {@link ScandinavianNormalizationFilter}
|
||||||
|
@ -32,8 +31,8 @@ import org.elasticsearch.index.settings.IndexSettings;
|
||||||
public class ScandinavianNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
public class ScandinavianNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ScandinavianNormalizationFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ScandinavianNormalizationFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -24,16 +24,15 @@ import org.apache.lucene.analysis.sr.SerbianNormalizationFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class SerbianNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
public class SerbianNormalizationFilterFactory extends AbstractTokenFilterFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public SerbianNormalizationFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public SerbianNormalizationFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -24,8 +24,7 @@ import org.apache.lucene.analysis.shingle.ShingleFilter;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -35,8 +34,8 @@ public class ShingleTokenFilterFactory extends AbstractTokenFilterFactory {
|
||||||
private final Factory factory;
|
private final Factory factory;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ShingleTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public ShingleTokenFilterFactory(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
Integer maxShingleSize = settings.getAsInt("max_shingle_size", ShingleFilter.DEFAULT_MAX_SHINGLE_SIZE);
|
Integer maxShingleSize = settings.getAsInt("max_shingle_size", ShingleFilter.DEFAULT_MAX_SHINGLE_SIZE);
|
||||||
Integer minShingleSize = settings.getAsInt("min_shingle_size", ShingleFilter.DEFAULT_MIN_SHINGLE_SIZE);
|
Integer minShingleSize = settings.getAsInt("min_shingle_size", ShingleFilter.DEFAULT_MIN_SHINGLE_SIZE);
|
||||||
Boolean outputUnigrams = settings.getAsBoolean("output_unigrams", true);
|
Boolean outputUnigrams = settings.getAsBoolean("output_unigrams", true);
|
||||||
|
|
|
@ -23,8 +23,7 @@ import org.apache.lucene.analysis.core.SimpleAnalyzer;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -34,8 +33,8 @@ public class SimpleAnalyzerProvider extends AbstractIndexAnalyzerProvider<Simple
|
||||||
private final SimpleAnalyzer simpleAnalyzer;
|
private final SimpleAnalyzer simpleAnalyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public SimpleAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
public SimpleAnalyzerProvider(IndexSettings indexSettings, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
this.simpleAnalyzer = new SimpleAnalyzer();
|
this.simpleAnalyzer = new SimpleAnalyzer();
|
||||||
this.simpleAnalyzer.setVersion(version);
|
this.simpleAnalyzer.setVersion(version);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,8 +27,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
import org.elasticsearch.common.inject.assistedinject.Assisted;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.env.Environment;
|
import org.elasticsearch.env.Environment;
|
||||||
import org.elasticsearch.index.Index;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
import org.elasticsearch.index.settings.IndexSettings;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -64,8 +63,8 @@ public class SnowballAnalyzerProvider extends AbstractIndexAnalyzerProvider<Snow
|
||||||
private final SnowballAnalyzer analyzer;
|
private final SnowballAnalyzer analyzer;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public SnowballAnalyzerProvider(Index index, @IndexSettings Settings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
public SnowballAnalyzerProvider(IndexSettings indexSettings, Environment env, @Assisted String name, @Assisted Settings settings) {
|
||||||
super(index, indexSettings, name, settings);
|
super(indexSettings, name, settings);
|
||||||
|
|
||||||
String language = settings.get("language", settings.get("name", "English"));
|
String language = settings.get("language", settings.get("name", "English"));
|
||||||
CharArraySet defaultStopwords = DEFAULT_LANGUAGE_STOPWORDS.getOrDefault(language, CharArraySet.EMPTY_SET);
|
CharArraySet defaultStopwords = DEFAULT_LANGUAGE_STOPWORDS.getOrDefault(language, CharArraySet.EMPTY_SET);
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue