/** Initialize this factory via a set of key-value pairs. */ protected AbstractAnalysisFactory(Map<String, String> args) { originalArgs = Collections.unmodifiableMap(new HashMap<>(args)); String version = get(args, LUCENE_MATCH_VERSION_PARAM); if (version == null) { luceneMatchVersion = Version.LATEST; } else { try { luceneMatchVersion = Version.parseLeniently(version); } catch (ParseException pe) { throw new IllegalArgumentException(pe); } } args.remove(CLASS_NAME); // consume the class arg }
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); recoveryId = in.readLong(); shardId = ShardId.readShardId(in); String name = in.readString(); position = in.readVLong(); long length = in.readVLong(); String checksum = in.readOptionalString(); content = in.readBytesReference(); Version writtenBy = null; if (in.getVersion().onOrAfter(org.elasticsearch.Version.V_1_3_0)) { String versionString = in.readOptionalString(); writtenBy = versionString == null ? null : Version.parseLeniently(versionString); } metaData = new StoreFileMetaData(name, length, checksum, writtenBy); }
private Version getLuceneMatchVersion(SearchConfiguration cfg) { final Version version; String tmp = cfg.getProperty(Environment.LUCENE_MATCH_VERSION); if (StringHelper.isEmpty(tmp)) { log.recommendConfiguringLuceneVersion(); version = Environment.DEFAULT_LUCENE_MATCH_VERSION; } else { try { version = Version.parseLeniently(tmp); if (log.isDebugEnabled()) { log.debug("Setting Lucene compatibility to Version " + version); } } catch (IllegalArgumentException e) { throw log.illegalLuceneVersionFormat(tmp, e.getMessage()); } catch (ParseException e) { throw log.illegalLuceneVersionFormat(tmp, e.getMessage()); } } return version; }
public static final Version parseLuceneVersionString(final String matchVersion) { final Version version; try { version = Version.parseLeniently(matchVersion); } catch (ParseException pe) { throw new SolrException( SolrException.ErrorCode.SERVER_ERROR, "Invalid luceneMatchVersion. Should be of the form 'V.V.V' (e.g. 4.8.0)", pe); } if (version == Version.LATEST && !versionWarningAlreadyLogged.getAndSet(true)) { log.warn( "You should not use LATEST as luceneMatchVersion property: " + "if you use this setting, and then Solr upgrades to a newer release of Lucene, " + "sizable changes may happen. If precise back compatibility is important " + "then you should instead explicitly specify an actual Lucene version."); } return version; }