May 7th, 2013Versions of Major Components:
· Apache Tika 1.3
· Carrot2 3.6.2
· Velocity 1.7 and Velocity Tools 2.0
· Apache UIMA 2.3.1
· Apache ZooKeeper 3.4.5
Upgrading from Solr 4.2.0:
· In the schema REST API, the output path for copyFields and dynamicFields has been changed from all lowercase "copyfields" and "dynamicfields" to camelCase "copyFields" and "dynamicFields", respectively, to align with all other schema REST API outputs, which use camelCase. The URL format remains the same: all resource names are lowercase. See SOLR-4623 for details.
· Slf4j/logging jars are no longer included in the Solr webapp. All logging jars are now in example/lib/ext. Changing logging impls is now as easy as updating the jars in this folder with those necessary for the logging impl you would like. If you are using another webapp container, these jars will need to go in the corresponding location for that container. In conjunction, the dist-excl-slf4j and dist-war-excl-slf4 build targets have been removed since they are redundent.
· The hardcoded SolrCloud defaults for 'hostContext="solr"' and 'hostPort="8983"' have been deprecated and will be removed in Solr 5.0. Existing solr.xml files that do not have these options explicitly specified should be updated accordingly.
New Features:
· SOLR-4648 PreAnalyzedUpdateProcessorFactory allows using the functionality of PreAnalyzedField with other field types.
· SOLR-4623: Provide REST API read access to all elements of the live schema. Add a REST API request to return the entire live schema, in JSON, XML, and schema.xml formats. Move REST API methods from package org.apache.solr.rest to org.apache.solr.rest.schema, and rename base functionality REST API classes to remove the current schema focus, to prepare for other non-schema REST APIs. Change output path for copyFields and dynamicFields from "copyfields" and "dynamicfields" (all lowercase) to "copyFields" and "dynamicFields", respectively, to align with all other REST API outputs, which use camelCase.
· SOLR-4658: In preparation for REST API requests that can modify the schema, a "managed schema" is introduced. Add '' to solrconfig.xml in order to use it, and to enable schema modifications via REST API requests.
· SOLR-4656: Added two new highlight parameters, hl.maxMultiValuedToMatch and hl.maxMultiValuedToExamine. maxMultiValuedToMatch stops looking for snippets after finding the specified number of matches, no matter how far into the multivalued field you've gone. maxMultiValuedToExamine stops looking for matches after the specified number of multiValued entries have been examined. If both are specified, the limit hit first stops the loop. Also this patch cuts down on the copying of the document entries during highlighting. These optimizations are probably unnoticeable unless there are a large number of entries in the multiValued field. Conspicuously, this will prevent the "best" match from being found if it appears later in the MV list than the cutoff specified by either of these params.
· SOLR-4675: Improve PostingsSolrHighlighter to support per-field/query-time overrides and add additional configuration parameters.
· SOLR-3755: A new collections api to add additional shards dynamically by splitting existing shards.
· SOLR-4530: DIH: Provide configuration to use Tika's IdentityHtmlMapper
· SOLR-4662: Discover SolrCores by directory structure rather than defining them in solr.xml. Also, change the format of solr.xml to be closer to that of solrconfig.xml. This version of Solr will ship the example in the old style, but you can manually try the new style. Solr 4.4 will ship with the new style, and Solr 5.0 will remove support for the old style.
· SOLR-4347: Ensure that newly-created cores via Admin handler are persisted in solr.xml
· (Erick Erickson)
· SOLR-1905: Cores created by the admin request handler should be persisted to solr.xml.
· Also fixed a problem whereby properties like solr.solr.datadir would be persisted to solr.xml. Also, cores that didn't happen to be loaded were not persisted.
· SOLR-4717/SOLR-1351: SimpleFacets now work with localParams allowing faceting on the same field multiple ways
· SOLR-4671: CSVResponseWriter now supports pseudo fields.
· SOLR-4358: HttpSolrServer sends the stream name and exposes 'useMultiPartPost'
Bug Fixes:
· SOLR-4543: setting shardHandlerFactory in solr.xml/solr.properties does not work.
· SOLR-4634: Fix scripting engine tests to work with Java 8's "Nashorn" Javascript implementation.
· SOLR-4636: If opening a reader fails for some reason when opening a SolrIndexSearcher, a Directory can be left unreleased.
· SOLR-4405: Admin UI - admin-extra files are not rendered into the core-menu
· SOLR-3956: Fixed group.facet=true to work with negative facet.limit
· SOLR-4650: copyField doesn't work with source globs that don't match any explicit or dynamic fields. This regression was introduced in Solr 4.2.
· SOLR-4641: Schema now throws exception on illegal field parameters.
· SOLR-3758: Fixed SpellCheckComponent to work consistently with distributed grouping
· SOLR-4652: Fix broken behavior with shared libraries in resource loader for solr.xml plugins.
· SOLR-4664: ZkStateReader should update aliases on construction.
· SOLR-4682: CoreAdminRequest.mergeIndexes can not merge multiple cores or indexDirs.
· SOLR-4581: When faceting on numeric fields in Solr 4.2, negative values (constraints) were sorted incorrectly.
· SOLR-4699: The System admin handler should not assume a file system based data directory location.
· SOLR-4695: Fix core admin SPLIT action to be useful with non-cloud setups
· (shalin)
· SOLR-4680: Correct example spellcheck configuration's queryAnalyzerFieldType and use "text" field instead of narrower "name" field
· SOLR-4702: Fix example /browse "Did you mean?" suggestion feature.
· SOLR-4710: You cannot delete a collection fully from ZooKeeper unless all nodes are up and functioning correctly.
· SOLR-4487: SolrExceptions thrown by HttpSolrServer will now contain the proper HTTP status code returned by the remote server, even if that status code is not something Solr itself returned -- eg: from the Servlet Container, or an intermediate HTTP Proxy
· SOLR-4661: Admin UI Replication details now correctly displays the current replicable generation/version of the master.
· SOLR-4716,SOLR-4584: SolrCloud request proxying does not work on Tomcat and perhaps other non Jetty containers.
· SOLR-4746: Distributed grouping used a NamedList instead of a SimpleOrderedMap for the top level group commands, causing output formatting differences compared to non-distributed grouping.
· SOLR-4729: LukeRequestHandler: Using a dynamic copyField source that is not also a dynamic field triggers error message 'undefined field: "(glob)"'.
Other Changes:
· SOLR-4653: Solr configuration should log inaccessible/ non-existent relative paths in lib dir=...
· SOLR-4317: SolrTestCaseJ4: Can't avoid "collection1" convention
· SOLR-4571: SolrZkClient#setData should return Stat object.
· SOLR-4603: CachingDirectoryFactory should use an IdentityHashMap for byDirectoryCache.
· SOLR-4544: Refactor HttpShardHandlerFactory so load-balancing logic can be customized.
· SOLR-4607: Use noggit 0.5 release jar rather than a forked copy.
· SOLR-4624: forceNew has been removed from the DirectoryFactory and related java apis.
· SOLR-3706: Ship setup to log with log4j.
· SOLR-4651: Remove dist-excl-slf4j build target.
· SOLR-4622: The hardcoded SolrCloud defaults for 'hostContext="solr"' and 'hostPort="8983"' have been deprecated and will be removed in Solr 5.0. Existing solr.xml files that do not have these options explicitly specified should be updated accordingly.
· SOLR-4672: Requests attempting to use SolrCores which had init failures (that would be reported by CoreAdmin STATUS requests) now result in 500 error responses with the details about the init failure, instead of 404 error responses.
· SOLR-4730: Make the wiki link more prominent in the release documentation.
April 4th, 2013Versions of Major Components:
· Apache Tika 1.3
· Carrot2 3.6.2
· Velocity 1.7 and Velocity Tools 2.0
· Apache UIMA 2.3.1
· Apache ZooKeeper 3.4.5
Bug Fixes:
· SOLR-4567: copyField source glob matching explicit field(s) stopped working in Solr 4.2.
· SOLR-4475: Fix various places that still assume File based paths even when not using a file based DirectoryFactory.
· SOLR-4551: CachingDirectoryFactory needs to create CacheEntry's with the fullpath not path.
· SOLR-4555: When forceNew is used with CachingDirectoryFactory#get, the old CachValue should give up it's path as it will be used by a new Directory instance.
· SOLR-4578: CoreAdminHandler#handleCreateAction gets a SolrCore and does not close it in SolrCloud mode when a core with the same name already exists.
· SOLR-4574: The Collections API will silently return success on an unknown ACTION parameter.
· SOLR-4576: Collections API validation errors should cause an exception on clients and otherwise act as validation errors with the Core Admin API.
· SOLR-4577: The collections API should return responses (success or failure) for each node it attempts to work with.
· SOLR-4568: The lastPublished state check before becoming a leader is not working correctly.
· SOLR-4570: Even if an explicit shard id is used, ZkController#preRegister should still wait to see the shard id in it's current ClusterState.
· SOLR-4318: NPE encountered with querying with wildcards on a field that uses the DefaultAnalyzer (i.e. no analysis chain defined).
· SOLR-4585: The Collections API validates numShards with < 0 but should use
March 12th, 2013New Features:
· SOLR-4043: Add ability to get success/failure responses from Collections API.
· (Raintung Li, Mark Miller)
· SOLR-2827: RegexpBoost Update Processor (janhoy)
· SOLR-4370: Allow configuring commitWithin to do hard commits. (Mark Miller, Senthuran Sivananthan)
· SOLR-4451: SolrJ, and SolrCloud internals, now use SystemDefaultHttpClient under the covers -- allowing many HTTP connection related properties to be controlled via 'standard' java system properties. (hossman)
· SOLR-3855, SOLR-4490: Doc values support. (Adrien Grand, Robert Muir)
· SOLR-4417: Reopen the IndexWriter on SolrCore reload. (Mark Miller)
· SOLR-4477: Add support for queries (match-only) against docvalues fields. (Robert Muir)
· SOLR-4488: Return slave replication details for a master if the master has also acted like a slave. (Mark Miller)
· SOLR-4498: Add list command to ZkCLI that prints out the contents of ZooKeeper. (Roman Shaposhnik via Mark Miller)
· SOLR-4481: SwitchQParserPlugin registered by default as 'switch' using syntax: {!switch case=XXX case.foo=YYY case.bar=ZZZ default=QQQ}foo (hossman)
· SOLR-4078: Allow custom naming of SolrCloud nodes so that a new host:port combination can take over for a previous shard. (Mark Miller)
· SOLR-4210: Requests to a Collection that does not exist on the receiving node should be proxied to a suitable node. (Mark Miller, Po Rui, yonik)
· SOLR-1365: New SweetSpotSimilarityFactory allows customizable TF/IDF based Similarity when you know the optimal "Sweet Spot" of values for the field length and TF scoring factors. (hossman)
· SOLR-4138: CurrencyField fields can now be used in a ValueSources to get the "raw" value (using the default number of fractional digits) in the default currency of the field type. There is also a new currency(field,[CODE]) function for generating a ValueSource of the "natural" value, converted to an optionally specified currency to override the default for the field type. (hossman)
· SOLR-4503: Add REST API methods, via Restlet integration, for reading schema elements, at /schema/fields/, /schema/dynamicfields/, /schema/fieldtypes/, and /schema/copyfields/. (Steve Rowe)
Bug Fixes:
· SOLR-2850: Do not refine facets when minCount == 1 (Matt Smith, lundgren via Adrien Grand)
· SOLR-4309: /browse: Improve JQuery autosuggest behavior (janhoy)
· SOLR-4330: group.sort is ignored when using group.truncate and ex/tag local params together (koji)
· SOLR-4321: Collections API will sometimes use a node more than once, even when more unused nodes are available. (Eric Falcao, Brett Hoerner, Mark Miller)
· SOLR-4345 : Solr Admin UI dosent work in IE 10 (steffkes)
· SOLR-4349 : Admin UI - Query Interface does not work in IE (steffkes)
· SOLR-4359: The RecentUpdates#update method should treat a problem reading the next record the same as a problem parsing the record - log the exception and break. (Mark Miller)
· SOLR-4225: Term info page under schema browser shows incorrect count of terms (steffkes)
· SOLR-3926: Solr should support better way of finding active sorts (Eirik Lygre via Erick Erickson)
· SOLR-4342: Fix DataImportHandler stats to be a proper Map (hossman)
· SOLR-3967: langid.enforceSchema option checks source field instead of target field (janhoy)
· SOLR-4380: Replicate after startup option would not replicate until the IndexWriter was lazily opened. (Mark Miller, Gregg Donovan)
· SOLR-4400: Deadlock can occur in a rare race between committing and closing a SolrIndexWriter. (Erick Erickson, Mark Miller)
· SOLR-3655: A restarted node can briefly appear live and active before it really is in some cases. (Mark Miller)
· SOLR-4426: NRTCachingDirectoryFactory does not initialize maxCachedMB and maxMergeSizeMB if is not present in solrconfig.xml (Jack Krupansky via shalin)
· SOLR-4463: Fix SolrCoreState reference counting. (Mark Miller)
· SOLR-4459: The Replication 'index move' rather than copy optimization doesn't kick in when using NRTCachingDirectory or the rate limiting feature. (Mark Miller)
· SOLR-4421,SOLR-4165: On CoreContainer shutdown, all SolrCores should publish their state as DOWN. (Mark Miller, Markus Jelsma)
· SOLR-4467: Ephemeral directory implementations may not recover correctly because the code to clear the tlog files on startup is off. (Mark Miller)
· SOLR-4413: Fix SolrCore#getIndexDir() to return the current index directory. (Gregg Donovan, Mark Miller)
· SOLR-4469: A new IndexWriter must be opened on SolrCore reload when the index directory has changed and the previous SolrCore's state should not be propagated. (Mark Miller, Gregg Donovan)
· SOLR-4471: Replication occurs even when a slave is already up to date. (Mark Miller, Andre Charton)
· SOLR-4484: ReplicationHandler#loadReplicationProperties still uses Files rather than the Directory to try and read the replication properties files. (Mark Miller)
· SOLR-4352: /browse pagination now supports and preserves sort context (Eric Spiegelberg, Erik Hatcher)
· LUCENE-4796, SOLR-4373: Fix concurrency issue in NamedSPILoader and AnalysisSPILoader when doing concurrent core loads in multicore Solr configs. (Uwe Schindler, Hossman)
· SOLR-4504: Fixed CurrencyField range queries to correctly exclude documents w/o values (hossman)
· SOLR-4480: A trailing + or - caused the edismax parser to throw an exception. (Fiona Tay, Jan Høydahl, yonik)
· SOLR-4507: The Cloud tab does not show up in the Admin UI if you set zkHost in solr.xml. (Alfonso Presa, Mark Miller)
· SOLR-4505: Possible deadlock around SolrCoreState update lock. (Erick Erickson, Mark Miller)
· SOLR-4511: When a new index is replicated into place, we need to update the most recent replicatable index point without doing a commit. This is important for repeater use cases, as well as when nodes may switch master/slave roles. (Mark Miller, Raúl Grande)
· SOLR-4515: CurrencyField's OpenExchangeRatesOrgProvider now requires a ratesFileLocation init param, since the previous global default no longer works (hossman)
· SOLR-4518: Improved CurrencyField error messages when attempting to use a Currency that is not supported by the current JVM. (hossman)
· SOLR-3798: Fix copyField implementation in IndexSchema to handle dynamic field references that aren't string-equal to the name of the referenced dynamic field. (Steve Rowe)
· SOLR-4497: Collection Aliasing. (Mark Miller)
Optimizations:
· SOLR-4339: Admin UI - Display Field-Flags on Schema-Browser (steffkes)
· SOLR-4340: Admin UI - Analysis's Button Spinner goes wild (steffkes)
· SOLR-4341: Admin UI - Plugins/Stats Page contains loooong Values which result in horizontal Scrollbar (steffkes)
· SOLR-3915: Color Legend for Cloud UI (steffkes)
· SOLR-4306: Utilize indexInfo=false when gathering core names in UI (steffkes)
· SOLR-4284: Admin UI - make core list scrollable separate from the rest of the UI (steffkes)
· SOLR-4364: Admin UI - Locale based number formatting (steffkes)
· SOLR-4521: Stop using the 'force' option for recovery replication. This will keep some less common unnecessary replications from happening. (Mark Miller, Simon Scofield)
· SOLR-4529: Improve Admin UI Dashboard legibility (Felix Buenemann via steffkes)
· SOLR-4526: Admin UI depends on optional system info (Felix Buenemann via steffkes)
Other Changes:
· SOLR-4259: Carrot2 dependency should be declared on the mini version, not the core. (Dawid Weiss).
· SOLR-4348: Make the lock type configurable by system property by default. (Mark Miller)
· SOLR-4353: Renamed example jetty context file to reduce confusion (hossman)
· SOLR-4384: Make post.jar report timing information (Upayavira via janhoy)
· SOLR-4415: Add 'state' to shards (default to 'active') and read/write them to ZooKeeper (Anshum Gupta via shalin)
· SOLR-4394: Tests and example configs demonstrating SSL with both server and client certs (hossman)
· SOLR-3060: SurroundQParserPlugin highlighting tests (Ahmet Arslan via hossman)
· SOLR-2470: Added more tests for VelocityResponseWriter
· SOLR-4471: Improve and clean up TestReplicationHandler. (Amit Nithian via Mark Miller)
· SOLR-3843: Include lucene codecs jar and enable per-field postings and docvalues support in the schema.xml (Robert Muir, Steve Rowe)
· SOLR-4511: Add new test for 'repeater' replication node. (Mark Miller)
· SOLR-4458: Sort directions (asc, desc) are now case insensitive (Shawn Heisey via hossman)
· SOLR-2996: A bare * without a field specification is treated as *:* by the lucene and edismax query paesers. (hossman, Jan Høydahl, Alan Woodward, yonik)
· SOLR-4416: Upgrade to Tika 1.3. (Markus Jelsma via Mark Miller)
· SOLR-4200: Reduce INFO level logging from CachingDirectoryFactory (Shawn Heisey via hossman)
January 23rd, 2013Versions of Major Components:
· Apache Tika 1.2
· Carrot2 3.6.2
· Velocity 1.7 and Velocity Tools 2.0
· Apache UIMA 2.3.1
· Apache ZooKeeper 3.4.5
Upgrading from Solr 4.0.0:
· Custom java parsing plugins need to migrate from throwing the internal ParseException to throwing SyntaxError.
· BaseDistributedSearchTestCase now randomizes the servlet context it uses when creating Jetty instances. Subclasses that assume a hard coded context of "/solr" should either be fixed to use the "String context" variable, or should take advantage of the new BaseDistributedSearchTestCase(String) constructor to explicitly specify a fixed servlet context path.
New Features:
· SOLR-2255: Enhanced pivot faceting to use local-params in the same way that regular field value faceting can. This means support for excluding a filter query, using a different output key, and specifying 'threads' to do facet.method=fcs concurrently. PivotFacetHelper now extends SimpleFacet and the getFacetImplementation() extension hook was removed.
· SOLR-3897: A highlighter parameter "hl.preserveMulti" to return all of the values of a multiValued field in their original order when highlighting.
· SOLR-3929: Support configuring IndexWriter max thread count in solrconfig.
· SOLR-3906: Add support for AnalyzingSuggester (LUCENE-3842), where the underlying analyzed form used for suggestions is separate from the returned text.
· SOLR-3985: ExternalFileField caches can be reloaded on firstSearcher/ newSearcher events using the ExternalFileFieldReloader
· SOLR-3911: Make Directory and DirectoryFactory first class so that the majority of Solr's features work with any custom implementations.
· SOLR-4051: Add element to DIH's data-config.xml file, allowing the user to specify the location, filename and Locale for the "data-config.properties" file. Alternatively, users can specify their own property writer implementation for greater control. This new configuration element is optional, and defaults mimic prior behavior. The one exception is that the "root" locale is default. Previously it was the machine's default locale.
· SOLR-4084: Add FuzzyLookupFactory, which is like AnalyzingSuggester except that it can tolerate typos in the input.
· SOLR-4088: New and improved auto host detection strategy for SolrCloud.
· SOLR-3970: SystemInfoHandler now exposes more details about the JRE/VM/Java version in use.
· SOLR-4101: Add support for storing term offsets in the index via a 'storeOffsetsWithPositions' flag on field definitions in the schema.
· SOLR-4093: Solr QParsers may now be directly invoked in the lucene query syntax without the _query_ magic field hack. Example: foo AND {!term f=myfield v=$qq}
· SOLR-4087: Add MAX_DOC_FREQ option to MoreLikeThis.
· SOLR-4114: Allow creating more than one shard per instance with the Collection API.
· SOLR-3531: Allowing configuring maxMergeSizeMB and maxCachedMB when using NRTCachingDirectoryFactory.
· SOLR-4118: Fix replicationFactor to align with industry usage. replicationFactor now means the total number of copies of a document stored in the collection (or the total number of physical indexes for a single logical slice of the collection). For example if replicationFactor=3 then for a given shard there will be a total of 3 replicas (one of which will normally be designated as the leader.)
· SOLR-4124: You should be able to set the update log directory with the CoreAdmin API the same way as the data directory.
· SOLR-4028: When using ZK chroot, it would be nice if Solr would create the initial path when it doesn't exist.
· SOLR-3948: Calculate/display deleted documents in admin interface.
· SOLR-4030: Allow rate limiting Directory IO based on the IO context.
· SOLR-4166: LBHttpSolrServer ignores ResponseParser passed in constructor.
· SOLR-4140: Allow access to the collections API through CloudSolrServer without referencing an existing collection.
· SOLR-788: Distributed search support for MLT.
· SOLR-4120: Collection API: Support for specifying a list of Solr addresses to spread a new collection across.
· SOLR-4110: Configurable Content-Type headers for PHPResponseWriters and PHPSerializedResponseWriter.
· SOLR-1028: The ability to specify "transient" and "loadOnStartup" as a new properties of tags in solr.xml. Can specify "transientCacheSize" in the tag. Together these allow cores to be loaded only when needed and only transientCacheSize transient cores will be loaded at a time, the rest aged out on an LRU basis.
· SOLR-4246: When update.distrib is set to skip update processors before the distributed update processor, always include the log update processor so forwarded updates will still be logged.
· SOLR-4230: The new Solr 4 spatial fields now work with the {!geofilt} and {!bbox} query parsers. The score local-param works too.
· SOLR-1972: Add extra statistics to RequestHandlers - 5 & 15-minute reqs/sec rolling averages; median, 75th, 95th, 99th, 99.9th percentile request times
· SOLR-4271: Add support for PostingsHighlighter.
· SOLR-4255: The new Solr 4 spatial fields now have a 'filter' boolean local-param that can be set to false to not filter. Its useful when there is already a spatial filter query but you also need to sort or boost by distance.
· SOLR-4265, SOLR-4283: Solr now parses request parameters (in URL or sent with POST using content-type application/x-www-form-urlencoded) in its dispatcher code. It no longer relies on special configuration settings in Tomcat or other web containers to enable UTF-8 encoding, which is mandatory for correct Solr behaviour. Query strings passed in via the URL need to be properly-%-escaped, UTF-8 encoded bytes, otherwise Solr refuses to handle the request. The maximum length of x-www-form-urlencoded POST parameters can now be configured through the requestDispatcher/requestParsers/@formdataUploadLimitInKB setting in solrconfig.xml (defaults to 2 MiB). Solr now works out of the box with e.g. Tomcat, JBoss,...
· SOLR-2201: DIH's "formatDate" function now supports a timezone as an optional fourth parameter
· SOLR-4302: New parameter 'indexInfo' (defaults to true) in CoreAdmin STATUS command can be used to omit index specific information
· SOLR-2592: Collection specific document routing. The "compositeId" router is the default for collections with hash based routing (i.e. when numShards=N is specified on collection creation). Documents with ids sharing the same domain (prefix) will be routed to the same shard, allowing for efficient querying.
· Collections that do not specify numShards at collection creation time use custom sharding and default to the "implicit" router. Document updates received by a shard will be indexed to that shard, unless a "_shard_" parameter or document field names a different shard.
Additional Work:
· SOLR-4032: Files larger than an internal buffer size fail to replicate.
· SOLR-4033: Consistently use the solrconfig.xml lockType everywhere.
· SOLR-4144: Replication using too much RAM.
· SOLR-4187: NPE on Directory release
Optimizations:
· SOLR-3788: Admin Cores UI should redirect to newly created core details
· SOLR-3895: XML and XSLT UpdateRequestHandler should not try to resolve external entities. This improves speed of loading e.g. XSL-transformed XHTML documents.
· SOLR-3614: Fix XML parsing in XPathEntityProcessor to correctly expand named entities, but ignore external entities.
· SOLR-3734: Improve Schema-Browser Handling for CopyField using dynamicField's
· SOLR-3941: The "commitOnLeader" part of distributed recovery can use openSearcher=false.
· SOLR-4063: Allow CoreContainer to load multiple SolrCores in parallel rather than just serially.
· SOLR-4199: When doing zk retries due to connection loss, rather than just retrying for 2 minutes, retry in proportion to the session timeout.
· SOLR-4262: Replication Icon on Dashboard does not reflect Master-/Slave- State
· SOLR-4264: Missing Error-Screen on UI's Cloud-Page
· SOLR-4261: Percentage Infos on Dashboard have a fixed width
· SOLR-3851: create a new core/delete an existing core should also update the main/left list of cores on the admin UI
· SOLR-3840: XML query response display is unreadable in Solr Admin Query UI
· SOLR-3982: Admin UI: Various Dataimport Improvements
· SOLR-4296: Admin UI: Improve Dataimport Auto-Refresh
· SOLR-3458: Allow multiple Items to stay open on Plugins-Page
Bug Fixes:
· SOLR-4288: Improve logging for FileDataSource (basePath, relative resources).
· SOLR-4007: Morfologik dictionaries not available in Solr field type due to class loader lookup problems.
· SOLR-3560: Handle different types of Exception Messages for Logging UI
· SOLR-3637: Commit Status at Core-Admin UI is always false
· SOLR-3917: Partial State on Schema-Browser UI is not defined for Dynamic Fields & Types
· SOLR-3939: Consider a sync attempt from leader to replica that fails due to 404 a success.
· SOLR-3940: Rejoining the leader election incorrectly triggers the code path for a fresh cluster start rather than fail over.
· SOLR-3961: Fixed error using LimitTokenCountFilterFactory
· SOLR-3933: Distributed commits are not guaranteed to be ordered within a request.
· SOLR-3939: An empty or just replicated index cannot become the leader of a shard after a leader goes down.
· SOLR-3971: A collection that is created with numShards=1 turns into a numShards=2 collection after starting up a second core and not specifying numShards.
· SOLR-3988: Fixed SolrTestCaseJ4.adoc(SolrInputDocument) to respect field and document boosts
· SOLR-3981: Fixed bug that resulted in document boosts being compounded in destination fields.
· SOLR-3920: Fix server list caching in CloudSolrServer when using more than one collection list with the same instance.
· SOLR-3938: prepareCommit command omits commitData causing a failure to trigger replication to slaves.
· SOLR-3992: QuerySenderListener doesn't populate document cache.
· SOLR-3995: Recovery may never finish on SolrCore shutdown if the last reference to a SolrCore is closed by the recovery process.
· SOLR-3998: Atomic update on uniqueKey field itself causes duplicate document.
· SOLR-4001: In CachingDirectoryFactory#close, if there are still refs for a Directory outstanding, we need to wait for them to be released before closing.
· SOLR-4005: If CoreContainer fails to register a created core, it should close it.
· SOLR-4009: OverseerCollectionProcessor is not resilient to many error conditions and can stop running on errors.
· SOLR-4019: Log stack traces for 503/Service Unavailable SolrException if not thrown by PingRequestHandler. Do not log exceptions if a user tries to view a hidden file using ShowFileRequestHandler.
· SOLR-3589: Edismax parser does not honor mm parameter if analyzer splits a token.
· SOLR-4031: Upgrade to Jetty 8.1.7 to fix a bug where in very rare occasions the content of two concurrent requests get mixed up.
· SOLR-4060: ReplicationHandler can try and do a snappull and open a new IndexWriter after shutdown has already occurred, leaving an IndexWriter that is not closed.
· SOLR-4055: Fix a thread safety issue with the Collections API that could cause actions to be targeted at the wrong SolrCores.
· SOLR-3993: If multiple SolrCore's for a shard coexist on a node, on cluster restart, leader election would stall until timeout, waiting to see all of the replicas come up.
· SOLR-2045: Databases that require a commit to be issued before closing the connection on a non-read-only database leak connections. Also expanded the SqlEntityProcessor test to sometimes use Derby as well as HSQLDB (Derby is one db affected by this bug).
· SOLR-4064: When there is an unexpected exception while trying to run the new leader process, the SolrCore will not correctly rejoin the election.
· SOLR-3989: SolrZkClient constructor dropped exception cause when throwing a new RuntimeException.
· SOLR-4036: field aliases in fl should not cause properties of target field to be used.
· SOLR-4003: The SolrZKClient clean method should not try and clear zk paths that start with /zookeeper, as this can fail and stop the removal of further nodes.
· SOLR-4076: SolrQueryParser should run fuzzy terms through MultiTermAwareComponents to ensure that (for example) a fuzzy query of foobar~2 is equivalent to FooBar~2 on a field that includes lowercasing.
· SOLR-4081: QueryParsing.toString, used during debugQuery=true, did not correctly handle ExtendedQueries such as WrappedQuery (used when cache=false), spatial queries, and frange queries.
· SOLR-3959: Ensure the internal comma separator of poly fields is escaped for CSVResponseWriter.
· SOLR-4075: A logical shard that has had all of it's SolrCores unloaded should be removed from the cluster state.
· SOLR-4034: Check if a collection already exists before trying to create a new one.
· SOLR-4097: Race can cause NPE in logging line on first cluster state update.
· SOLR-4099: Allow the collection api work queue to make forward progress even when it's watcher is not fired for some reason.
· SOLR-3960: Fixed a bug where Distributed Grouping ignored PostFilters
· SOLR-3842: DIH would not populate multivalued fields if the column name derives from a resolved variable
· SOLR-4117: Retrieving the size of the index may use the wrong index dir if you are replicating.
· SOLR-2890: Fixed a bug that prevented omitNorms and omitTermFreqAndPositions options from being respected in some declarations
· SOLR-4159: When we are starting a shard from rest, a potential leader should not consider it's last published state when deciding if it can be the new leader.
· SOLR-4158: When a core is registering in ZooKeeper it may not wait long enough to find the leader due to how long the potential leader waits to see replicas.
· SOLR-4162: ZkCli usage examples are not correct because the zkhost parameter is not present and it is mandatory for all commands.
· SOLR-4071: Validate that name is pass to Collections API create, and behave the same way as on startup when collection.configName is not explicitly passed.
· SOLR-4127: Added explicit error message if users attempt Atomic document updates with either updateLog or DistribUpdateProcessor.
· SOLR-4136: Fix SolrCloud behavior when using "hostContext" containing "_" or"/" characters. This fix also makes SolrCloud more accepting of hostContext values with leading/trailing slashes.
· SOLR-4168: Ensure we are using the absolute latest index dir when getting list of files for replication.
· SOLR-4102: Fix UI javascript error if canonical hostname can not be resolved
· SOLR-4178: ReplicationHandler should abort any current pulls and wait for it's executor to stop during core close.
· SOLR-3918: Fixed the 'dist-war-excl-slf4j' ant target to exclude all slf4j jars, so that the resulting war is usable as is provided the servlet container includes the correct slf4j api and impl jars.
· SOLR-4198: OverseerCollectionProcessor should implement ClosableThread.
· SOLR-4213: Directories that are not shutdown until DirectoryFactory#close do not have close listeners called on them.
· SOLR-4134: Standard (XML) request writer cannot "set" multiple values into multivalued field with partial updates.
· SOLR-3972: Fix ShowFileRequestHandler to not log a warning in the (expected) situation of a file not found.
· SOLR-4133: Cannot "set" field to null with partial updates when using the standard RequestWriter.
· SOLR-4223: "maxFormContentSize" in jetty.xml is not picked up by jetty 8 so set it via solr webapp context file.
· SOLR-4175:SearchComponent chain can't contain two components of the same class and use debugQuery.
· SOLR-4244: When coming back from session expiration we should not wait for the leader to see us in the down state if we are the node that must become the leader.
· SOLR-4245: When a core is registering with ZooKeeper, the timeout to find the leader in the cluster state is 30 seconds rather than leaderVoteWait + extra time.
· SOLR-4238: Fix jetty example requestLog config
· SOLR-4251: Fix SynonymFilterFactory when an optional tokenizerFactory is supplied.
· SOLR-4253: Misleading resource loading warning from Carrot2 clustering component fixed
· SOLR-4257: PeerSync updates and Log Replay updates should not wait for a ZooKeeper connection in order to proceed.
· SOLR-4045: SOLR admin page returns HTTP 404 on core names containing a '.' (dot)
· SOLR-4176: analysis ui: javascript not properly handling URL decoding of input
· SOLR-4079: Long core names break web gui appearance and functionality
· SOLR-4263: Incorrect Link from Schema-Browser to Query From for Top-Terms
· SOLR-3829: Admin UI Logging events broken if schema.xml defines a catch-all dynamicField with type ignored
· SOLR-4275: Fix TrieTokenizer to no longer throw StringIndexOutOfBoundsException in admin UI / AnalysisRequestHandler when you enter no number to tokenize.
· SOLR-4279: Wrong exception message if _version_ field is multivalued
· SOLR-4170: The 'backup' ReplicationHandler command can sometimes use a stale index directory rather than the current one.
· SOLR-3876: Solr Admin UI is completely dysfunctional on IE 9
· SOLR-4112: Fixed DataImportHandler ZKAwarePropertiesWriter implementation so import works fine with SolrCloud clusters
· SOLR-4291: Harden the Overseer work queue thread loop.
· SOLR-3820: Solr Admin Query form is missing some edismax request parameters
· SOLR-4217: post.jar no longer ignores -Dparams when -Durl is used.
· SOLR-4303: On replication, if the generation of the master is lower than the slave we need to force a full copy of the index.
· SOLR-4266: HttpSolrServer does not release connection properly on exception when no response parser is used.
Other Changes:
· SOLR-4106: Javac/ ivy path warnings with morfologik fixed by upgrading to Morfologik 1.5.5
· SOLR-3899: SolrCore should not log at warning level when the index directory changes - it's an info event.
· SOLR-3861: Refactor SolrCoreState so that it's managed by SolrCore.
· SOLR-3966: Eliminate superfluous warning from LanguageIdentifierUpdateProcessor
· SOLR-3932: SolrCmdDistributorTest either takes 3 seconds or 3 minutes.
· SOLR-3856: New tests for SqlEntityProcessor/CachedSqlEntityProcessor
· SOLR-4067: ZkStateReader#getLeaderProps should not return props for a leader that it does not think is live.
· SOLR-4086: DIH refactor of VariableResolver and Evaluator. VariableResolver and each built-in Evaluator are separate concrete classes. DateFormatEvaluator now defaults with the ROOT Locale. However, users may specify a different Locale using an optional new third parameter.
· SOLR-3602: Update ZooKeeper to 3.4.5
· SOLR-4095: DIH NumberFormatTransformer & DateFormatTransformer default to the ROOT Locale if none is specified. These previously used the machine's default.
· SOLR-4096: DIH FileDataSource & FieldReaderDataSource default to UTF-8 encoding if none is specified. These previously used the machine's default.
· SOLR-1916: DIH to not use Lucene-forbidden Java APIs (default encoding, locale, etc.)
· SOLR-4111: SpellCheckCollatorTest#testContextSensitiveCollate to test against both DirectSolrSpellChecker & IndexBasedSpellChecker
· SOLR-2141: Better test coverage for Evaluators
· SOLR-4119: Update Guava to 13.0.1
· SOLR-4074: Raise default ramBufferSizeMB to 100 from 32.
· SOLR-4062: The update log location in solrconfig.xml should default to ${solr.ulog.dir} rather than ${solr.data.dir:}
· SOLR-4155: Upgrade Jetty to 8.1.8.
· SOLR-2986: Add MoreLikeThis to warning about features that require uniqueKey. Also, change the warning to warn log level.
· SOLR-4163: README improvements
· SOLR-4248: "ant eclipse" should declare .svn directories as derived.
· SOLR-3279: Upgrade Carrot2 to 3.6.2
· SOLR-4254: Harden the 'leader requests replica to recover' code path.
· SOLR-4226: Extract fl parsing code out of ReturnFields constructor.
· SOLR-4208: ExtendedDismaxQParserPlugin has been refactored to make subclassing easier.
· SOLR-3735: Relocate the example mime-to-extension mapping, and upgrade Velocity Engine to 1.7
· SOLR-4287: Removed "apache-" prefix from Solr distribution and artifact filenames.
· SOLR-4016: Deduplication does not work with atomic/partial updates so disallow atomic update requests which change signature generating fields.
· SOLR-4308: Remove the problematic and now unnecessary log4j-over-slf4j.
October 12th, 2012Highlights:
· New spatial field types with polygon support.
· Various Admin UI improvements.
· SolrCloud related performance optimizations in writing the the transaction log, PeerSync recovery, Leader election, and ClusterState caching.
· Numerous bug fixes and optimizations.
New Features:
· SOLR-3670: New CountFieldValuesUpdateProcessorFactory makes it easy to index the number of values in another field for later use at query time.
· SOLR-2768: new "mod(x,y)" function for computing the modulus of two value sources.
· SOLR-3238: Numerous small improvements to the Admin UI
· SOLR-3597: seems like a lot of wasted whitespace at the top of the admin screens
· SOLR-3304: Added Solr adapters for Lucene 4's new spatial module. With SpatialRecursivePrefixTreeFieldType ("location_rpt" in example schema), it is possible to index a variable number of points per document (and sort on them), index not just points but any Spatial4j supported shape such as polygons, and to query on these shapes too. Polygons requires adding JTS to the classpath.
· SOLR-3825: Added optional capability to log what ids are in a response
· SOLR-3821: Added 'df' to the UI Query form
· SOLR-3822: Added hover titles to the edismax params on the UI Query form
Optimizations:
· SOLR-3715: improve concurrency of the transaction log by removing synchronization around log record serialization.
· SOLR-3807: Currently during recovery we pause for a number of seconds after waiting for the leader to see a recovering state so that any previous updates will have finished before our commit on the leader - we don't need this wait for peersync.
· SOLR-3837: When a leader is elected and asks replicas to sync back to him and that fails, we should ask those nodes to recovery asynchronously rather than synchronously.
· SOLR-3709: Cache the url list created from the ClusterState in CloudSolrServer on each request.
· SOLR-3560: Handle different types of Exception Messages for Logging UI
Bug fixes:
· SOLR-3685: Solr Cloud sometimes skipped peersync attempt and replicated instead due to tlog flags not being cleared when no updates were buffered during a previous replication.
· SOLR-3229: Fixed TermVectorComponent to work with distributed search
· SOLR-3725: Fixed package-local-src-tgz target to not bring in unnecessary jars and binary contents.
· SOLR-3649: Fixed bug in JavabinLoader that caused deleteById(List ids) to not work in SolrJ
· SOLR-3730: Rollback is not implemented quite right and can cause corner case fails in SolrCloud tests.
· SOLR-2981: Fixed StatsComponent to no longer return duplicated information when requesting multiple stats.facet fields.
· SOLR-3743: Fixed issues with atomic updates and optimistic concurrency in conjunction with stored copyField targets by making real-time get never return copyField targets.
· SOLR-3746: Proper error reporting if updateLog is configured w/o necessary "_version_" field in schema.xml
· SOLR-3745: Proper error reporting if SolrCloud mode is used w/o necessary "_version_" field in schema.xml
· SOLR-3770: Overseer may lose updates to cluster state
· SOLR-3721: Fix bug that could theoretically allow multiple recoveries to run briefly at the same time if the recovery thread join call was interrupted.
· SOLR-3782: A leader going down while updates are coming in can cause shard inconsistency.
· SOLR-3611: We do not show ZooKeeper data in the UI for a node that has children.
· SOLR-3789: Fix bug in SnapPuller that caused "internal" compression to fail.
· SOLR-3790: ConcurrentModificationException could be thrown when using hl.fl=*. Fixed in r1231606.
· SOLR-3668: DataImport : Specifying Custom Parameters
· SOLR-3793: UnInvertedField faceting cached big terms in the filter cache that ignored deletions, leading to duplicate documents in search later when a filter of the same term was specified.
· SOLR-3679: Core Admin UI gives no feedback if "Add Core" fails
· SOLR-3795: Fixed LukeRequestHandler response to correctly return field name strings in copyDests and copySources arrays
· SOLR-3699: Fixed some Directory leaks when there were errors during SolrCore or SolrIndexWriter initialization.
· SOLR-3518: Include final 'hits' in log information when aggregating a distibuted request
· SOLR-3628: SolrInputField and SolrInputDocument are now consistently backed by Collections passed in to setValue/setField, and defensively copy values from Collections passed to addValue/addField
· SOLR-3595: CurrencyField now generates an appropriate error on schema init if it is configured as multiValued - this has never been properly supported, but previously failed silently in odd ways.
· SOLR-3823: Fix 'bq' parsing in edismax. Please note that this required reverting the negative boost support added by SOLR-3278
· SOLR-3827: Fix shareSchema=true in solr.xml
· SOLR-3809: Fixed config file replication when subdirectories are used
· SOLR-3828: Fixed QueryElevationComponent so that using 'markExcludes' does not modify the result set or ranking of 'excluded' documents relative to not using elevation at all.
· SOLR-3569: Fixed debug output on distributed requests when there are no results found.
· SOLR-3811: Query Form using wrong values for dismax, edismax
· SOLR-3779: DataImportHandler's LineEntityProcessor when used in conjunction with FileListEntityProcessor would only process the first file.
· SOLR-3791: CachedSqlEntityProcessor would throw a NullPointerException when a query returns a row with a NULL key.
· SOLR-3833: When a election is started because a leader went down, the new leader candidate should decline if the last state they published was not active.
· SOLR-3836: When doing peer sync, we should only count sync attempts that cannot reach the given host as success when the candidate leader is syncing with the replicas - not when replicas are syncing to the leader.
· SOLR-3835: In our leader election algorithm, if on connection loss we found we did not create our election node, we should retry, not throw an exception.
· SOLR-3834: A new leader on cluster startup should also run the leader sync process in case there was a bad cluster shutdown.
· SOLR-3772: On cluster startup, we should wait until we see all registered replicas before running the leader process - or if they all do not come up, N amount of time.
· SOLR-3756: If we are elected the leader of a shard, but we fail to publish this for any reason, we should clean up and re trigger a leader election.
· SOLR-3812: ConnectionLoss during recovery can cause lost updates, leading to shard inconsistency.
· SOLR-3813: When a new leader syncs, we need to ask all shards to sync back, not just those that are active.
· SOLR-3641: CoreContainer is not persisting roles core attribute.
· SOLR-3527: SolrCmdDistributor drops some of the important commit attributes (maxOptimizeSegments, softCommit, expungeDeletes) when sending a commit to replicas.
· SOLR-3844: SolrCore reload can fail because it tries to remove the index write lock while already holding it.
· SOLR-3831: Atomic updates do not distribute correctly to other nodes.
· SOLR-3465: Replication causes two searcher warmups.
· SOLR-3645: /terms should default to distrib=false.
· SOLR-3759: Various fixes to the example-DIH configs
· SOLR-3777: Dataimport-UI does not send unchecked checkboxes
· SOLR-3850: DataImportHandler "cacheKey" parameter was incorrectly renamed "cachePk"
· SOLR-3087: Fixed DOMUtil so that code doing attribute validation will automaticly ignore nodes in the resserved "xml" prefix - in particular this fixes some bugs related to xinclude and fieldTypes.
· SOLR-3783: Fixed Pivot Faceting to work with facet.missing=true
· SOLR-3869: A PeerSync attempt to it's replicas by a candidate leader should not fail on o.a.http.conn.ConnectTimeoutException.
· SOLR-3875: Fixed index boosts on multi-valued fields when docBoost is used
· SOLR-3878: Exception when using open-ended range query with CurrencyField
· SOLR-3891: CacheValue in CachingDirectoryFactory cannot be used outside of solr.core package.
· SOLR-3892: Inconsistent locking when accessing cache in CachingDirectoryFactory from RAMDirectoryFactory and MockDirectoryFactory.
· SOLR-3883: Distributed indexing forwards non-applicable request params.
· SOLR-3637: Commit Status at Core-Admin UI is always false
· SOLR-3903: Fixed MissingFormatArgumentException in ConcurrentUpdateSolrServer
· SOLR-3916: Fixed whitespace bug in parsing the fl param
Other changes:
· SOLR-3690: Fixed binary release packages to include dependencie needed for the solr-test-framework
· SOLR-2857: The /update/json and /update/csv URLs were restored to aid in the migration of existing clients.
· SOLR-2747: Updated changes2html.pl to handle Solr's CHANGES.txt; added target 'changes-to-html' to solr/build.xml.
· SOLR-3752: When a leader goes down, have the Overseer clear the leader state in cluster.json
· SOLR-3751: Add defensive checks for SolrCloud updates and requests that ensure the local state matches what we can tell the request expected.
· SOLR-3773: Hash based on the external String id rather than the indexed representation for distributed updates.
· SOLR-3780: Maven build: Make solrj tests run separately from solr-core.
· SOLR-3707: Upgrade Solr to Tika 1.2
· SOLR-3772: Optionally, on cluster startup, we can wait until we see all registered replicas before running the leader process - or if they all do not come up, N amount of time.
· SOLR-3750: Optionaly, on session expiration, we can explicitly wait some time before running the leader sync process so that we are sure every node participates.
· SOLR-3691: SimplePostTool: Mode for crawling/posting web pages See http://wiki.apache.org/solr/ExtractingRequestHandler for examples
· SOLR-3824: Velocity: Error messages from search not displayed
· SOLR-3826: Test framework improvements for specifying coreName on initCore
· SOLR-3749: Allow default UpdateLog syncLevel to be configured by solrconfig.xml
· SOLR-3845: Rename numReplicas to replicationFactor in Collections API.
· SOLR-3815: SolrCloud - Add properties such as "range" to shards, which changes the clusterstate.json and puts the shard replicas under "replicas".
· SOLR-3871: SyncStrategy should use an executor for the threads it creates to request recoveries.
· SOLR-3870: SyncStrategy should have a close so it can abort earlier on shutdown.
August 14th, 2012· Added a Collection management API for Solr Cloud.
· Solr Admin UI now clearly displays failures related to initializing SolrCores
· Updatable documents can create a document if it doesn't already exist, or you can force that the document must already exist.
· Full delete-by-query support for Solr Cloud.
· Default to NRTCachingDirectory for improved near-realtime performance.
· Improved Solrj client performance with Solr Cloud: updates are only sent to leaders by default.
· Various other API changes, optimizations and bug fixes.
July 23rd, 2012· The concurrency of MMapDirectory was improved, which caused a performance regression in comparison to Solr 3.5.0. This affected users with 64bit platforms (Linux, Solaris, Windows) or those explicitely using MMapDirectoryFactory.
· ReplicationHandler "maxNumberOfBackups" was fixed to work if backups are triggered on commit.
· Charset problems were fixed with HttpSolrServer, caused by an upgrade to a new Commons HttpClient version in 3.6.0.
· Grouping was fixed to return correct count when not all shards are queried in the second pass. Solr no longer throws Exception when using result grouping with main=true and using wt=javabin.
· Config file replication was made less error prone.
· Data Import Handler threading fixes.
· Various minor bugs were fixed.
April 13th, 2012· New SolrJ client connector using Apache Http Components http client (SOLR-2020)
· Many analyzer factories are now "multi term query aware" allowing for things like field type aware lowercasing when building prefix & wildcard queries. (SOLR-2438)
· New Kuromoji morphological analyzer tokenizes Japanese text, producing both compound words and their segmentation. (SOLR-3056)
· Range Faceting (Dates & Numbers) is now supported in distributed search (SOLR-1709)
· HTMLStripCharFilter has been completely re-implemented, fixing many bugs and greatly improving the performance (LUCENE-3690)
· StreamingUpdateSolrServer now supports the javabin format (SOLR-1565)
· New LFU Cache option for use in Solr's internal caches. (SOLR-2906)
· Memory performance improvements to all FST based suggesters (SOLR-2888)
· New WFSTLookupFactory suggester supports finer-grained ranking for suggestions. (LUCENE-3714)
· New options for configuring the amount of concurrency used in distributed searches (SOLR-3221)
· Many bug fixes
November 28th, 2011New Features:
· SOLR-2749: Add boundary scanners for FastVectorHighlighter. can be specified with a name in solrconfig.xml, and use hl.boundaryScanner=name parameter to specify the named . (koji)
· SOLR-2066,SOLR-2776: Added support for distributed grouping. (Martijn van Groningen, Jasper van Veghel, Matt Beaumont)
· SOLR-2769: Added factory for the new Hunspell stemmer capable of doing stemming for 99 languages (janhoy, cmale)
· SOLR-1979: New contrib "langid". Adds language identification capabilities as an Update Processor, using Tika's LanguageIdentifier or Cybozu language-detection library (janhoy, Tommaso Teofili, gsingers) SOLR-2818: Added before/after count response parsing support for range facets in SolrJ. (Bernhard Frauendienst via Martijn van Groningen) SOLR-2276: Add support for cologne phonetic to PhoneticFilterFactory. (Marc Pompl via rmuir)
· SOLR-1926: Add hl.q parameter. (koji)
· SOLR-2881: Numeric types now support sortMissingFirst/Last. This includes Trie and date types (Ryan McKinley, Mike McCandless, Uwe Schindler, Erick Erickson)
· SOLR-1023: StatsComponent now supports date fields and string fields. (Chris Male, Mark Holland, Gunnlaugur Thor Briem, Ryan McKinley)
· SOLR-2578: ReplicationHandler's backup command now supports a 'numberToKeep' param that can be used to delete all but the most recent N backups. (James Dyer via hossman)
Optimizations:
· SOLR-2742: SolrJ: Provide commitWithinMs as optional parameter for all add() methods, making the feature more conveniently accessible for developers (janhoy)
Bug Fixes:
· SOLR-2762: (backport form 4.x line): FSTLookup could return duplicate results or one results less than requested. (David Smiley, Dawid Weiss)
· SOLR-2748: The CommitTracker used for commitWith or autoCommit by maxTime could commit too frequently and could block adds until a new seaercher was registered. (yonik)
· SOLR-2726: Fixed NullPointerException when using spellcheck.q with Suggester. (Bernd Fehling, valentin via rmuir)
· SOLR-2772: Fixed Date parsing/formatting of years 0001-1000 (hossman)
· SOLR-2763: Extracting update request handler throws exception and returns 400 when zero-length file posted using multipart form post (janhoy)
· SOLR-2780: Fixed issue where multi select facets didn't respect group.truncate parameter. (Martijn van Groningen, Ramzi Alqrainy)
· SOLR-2791: Replication: abortfetch command is broken if replication was started by fetchindex command instead of a regular poll (Yury Kats via shalin)
· SOLR-2861: Fix extremely rare race condition on commit that can result in a NPE (yonik)
· SOLR-2829: Fix problem with false-positives due to incorrect equals methods. (Yonik Seeley, Hossman, Erick Erickson. Marc Tinnemeyer caught the bug) SOLR-2902: List of collations are wrong parsed in SpellCheckResponse causing a wrong number of collation results in the response. (Bastiaan Verhoef, James Dyer via Simon Willnauer)
Other Changes:
· SOLR-2750: Make both "update.chain" and the deprecated "update.param" work consistently everywhere; see also SOLR-2105. (Mark Miller, janhoy)
· LUCENE-3410: Deprecated the WordDelimiterFilter constructors accepting multiple ints masquerading as booleans. Preferred constructor now accepts a single int bitfield (Chris Male) SOLR-2758: Moved ConcurrentLRUCache from o.a.s.common.util package in the solrj module to the o.a.s.util package in the Solr core module. (David Smiley via Steve Rowe)
· SOLR-2756: Maven configuration: Removed unused zookeeper dependency; conditionalized geronimo-stax-api dependency to be in force only under Java 1.5; excluded transitive stax:stax-api dependency from org.codehaus.woodstox:wstx-asl dependency. (David Smiley, Steve Rowe) SOLR-2770: 'ant generate-maven-artifacts' should generate the maven artifact for the Solr-specific jdk15-compiled carrot2-core dependency. (Steve Rowe)
· SOLR-2766: Package individual javadoc sites for solrj and test-framework. (Steve Rowe, Mike McCandless)
· SOLR-2771: Solr modules' tests should not depend on solr-core test classes; move BufferingRequestProcessor from solr-core tests to test-framework so that the Solr Cell module can use it. (janhoy, Steve Rowe)
· LUCENE-3457: Upgrade commons-compress to 1.2 (Doron Cohen)
· SOLR-2757: min() and max() functions now support an arbitrary number of ValueSources (Bill Bell via hossman)
· SOLR-2372: Upgrade Solr to Tika 0.10 (janhoy)
· SOLR-2792: Allow case insensitive Hunspell stemming (janhoy, rmuir)
· SOLR-2588: Moved VelocityResponseWriter back to contrib module in order to remove it as a mandatory core dependency. (Erik Hatcher)
· SOLR-2862: More explicit lexical resources location logged if Carrot2 clustering extension is used. Fixed solr. impl. of IResource and IResourceLookup. (Dawid Weiss)
· SOLR-2849: Fix dependencies in Maven POMs. (David Smiley via Steve Rowe)
· SOLR-2591: Remove commitLockTimeout option from solrconfig.xml (Luca Cavanna via Martijn van Groningen)
· SOLR-1123: Changed JSONResponseWriter to now use application/json as its Content-Type by default. However the Content-Type can be overwritten and is set to text/plain in the example configuration. (Uri Boness, Chris Male)
September 15th, 2011Upgrading from Solr 3.3:
· The Lucene index format has changed and as a result, once you upgrade, previous versions of Solr will no longer be able to read your indices. In a master/slave configuration, all searchers/slaves should be upgraded before the master. If the master were to be updated first, the older searchers would not be able to read the new index format.
· Previous versions of Solr silently allow and ignore some contradictory properties specified in schema.xml. For example: - indexed="false" omitNorms="false" - indexed="false" omitTermFreqAndPositions="false" Field property validation has now been fixed, to ensure that contradictions like these now generate error messages. If users have existing schemas that generate one of these new "conflicting 'false' field options for non-indexed field" error messages the conflicting "omit*" properties can safely be removed, or changed to "true" for consistent behavior with previous Solr versions. This situation has now been fixed to cause an error on startup when these contradictory options. See SOLR-2669. FacetComponent no longer catches and embeds exceptions occurred during facet processing, it throws HTTP 400 or 500 exceptions instead.
New Features:
· SOLR-2540: CommitWithin as an Update Request parameter You can now specify &commitWithin=N (ms) on the update request (janhoy)
· SOLR-2383: /browse improvements: generalize range and date facet display Backported from trunk. Removed facet.date support in Velocity, since this is deprecated in favor of facet.range (gsingers, janhoy)
· SOLR-2458: post.jar enhanced to handle JSON, CSV and (janhoy)
· LUCENE-3234: add a new parameter hl.phraseLimit for FastVectorHighlighter speed up. (Mike Sokolov via koji)
· SOLR-2429: Ability to add cache=false to queries and query filters to avoid using the filterCache or queryCache. A cost may also be specified and is used to order the evaluation of non-cached filters from least to greatest cost . For very expensive query filters (cost >= 100) if the query implements the PostFilter interface, it will be used to obtain a Collector that is checked only for documents that match the main query and all other filters. The "frange" query now implements the PostFilter interface. (yonik)
· SOLR-2630: Added new XsltUpdateRequestHandler that works like XmlUpdateRequestHandler but allows to transform the POSTed XML document using XSLT. This allows to POST arbitrary XML documents to the update handler, as long as you also provide a XSL to transform them to a valid Solr input document. (Upayavira, Uwe Schindler)
· SOLR-2615: Log individual updates (adds and deletes) at the FINE level before adding to the index. Fix a null pointer exception in logging when there was no unique key. (David Smiley via yonik)
· LUCENE-2048: Added omitPositions to the schema, so you can omit position information while still indexing term frequencies. (rmuir)
· SOLR-2584: add UniqFieldsUpdateProcessor that removes duplicate values in the specified fields. (Elmer Garduno, koji)
· SOLR-2670: Added NIOFSDirectoryFactory (yonik)
· SOLR-2523: Added support in SolrJ to easily interact with range facets. The range facet response can be parsed and is retrievable from the QueryResponse class. The SolrQuery class has convenient methods for using range facets. (Martijn van Groningen)
· SOLR-2637: Added support for group result parsing in SolrJ. (Tao Cheng, Martijn van Groningen)
· SOLR-2665: Added post group faceting. Facet counts are based on the most relevant document of each group matching the query. This feature has the same impact on the StatsComponent. (Martijn van Groningen)
· SOLR-2675: CoreAdminHandler now allows arbitrary properties to be specified when CREATEing a new SolrCore using property.* request params. (Yury Kats, hossman)
· SOLR-2714: JSON update format - "null" field values are now dropped instead of causing an exception. (Trygve Laugst√∏l, yonik)
Optimizations:
· LUCENE-3233: Improved memory usage, build time, and performance of SynonymFilterFactory. (Mike McCandless, Robert Muir)
Bug Fixes:
· SOLR-2625: TermVectorComponent throws NPE if TF-IDF option is used without DF option. (Daniel Erenrich, Simon Willnauer)
· SOLR-2631: PingRequestHandler should not allow to ping itsself using "qt" param to prevent infinite loop. (Edoardo Tosca, Uwe Schindler)
· SOLR-2636: Fix explain functionality for negative queries. (Tom Hill via yonik)
· SOLR-2538: Range Faceting on long/double fields could overflow if values bigger then the max int/float were used. (Erbi Hanka, hossman)
· SOLR-2230: CommonsHttpSolrServer.addFile could not be used to send multiple files in a single request. (Stephan G√ºnther, hossman)
· SOLR-2541: PluginInfos was not correctly parsing tags when initializing plugins (Frank Wesemann, hossman)
· SOLR-2623: Solr JMX MBeans do not survive core reloads (Alexey Serba, shalin)
· Fixed grouping bug when start is bigger than rows and format is simple that zero documents are returned even if there are documents to display. (Martijn van Groningen, Nikhil Chhaochharia)
· SOLR-2564: Fixed ArrayIndexOutOfBoundsException when using simple format and start > 0 (Martijn van Groningen, Matteo Melli)
· SOLR-2642: Fixed sorting by function when using grouping. (Thomas Heigl, Martijn van Groningen)
· SOLR-2535: REGRESSION: in Solr 3.x and trunk the admin/file handler fails to show directory listings (David Smiley, Peter Wolanin via Erick Erickson)
· SOLR-2545: ExternalFileField file parsing would fail if any key contained an "=" character. It now only looks for the last "=" delimiter prior to the float value. (Markus Jelsma, hossman)
· SOLR-2662: When Solr is configured to have no queryResultCache, the "start" parameter was not honored and the documents returned were 0 through start+offset. (Markus Jelsma, yonik)
· SOLR-2669: Fix backwards validation of field properties in SchemaField.calcProps (hossman)
· SOLR-2676: Add "welcome-file-list" to solr.war so admin UI works correctly in servlet containers such as WebSphere that do not use a default list (Jay R. Jaeger, hossman)
· SOLR-2682: Remove addException() in SimpleFacet. FacetComponent no longer catches and embeds exceptions occurred during facet processing, it throws HTTP 400 or 500 exceptions instead. (koji)
· SOLR-2606: Fixed sort parsing of fields containing punctuation that failed due to sort by function changes introduced in SOLR-1297 (Mitsu Hadeishi, hossman)
· SOLR-2734: Fix debug info for MorLikeThisHandler (introduced when SOLR-860 was backported to 3x). (Andr√©s Cobas, hossman via koji)
Other Changes:
· SOLR-2629: Eliminate deprecation warnings in some JSPs. (Bernd Fehling, hossman)
July 2nd, 2011New Features:
· SOLR-2378: A new, automaton-based, implementation of suggest (autocomplete) component, offering an order of magnitude smaller memory consumption compared to ternary trees and jaspell and very fast lookups at runtime. (Dawid Weiss)
· SOLR-2400: Field- and DocumentAnalysisRequestHandler now provide a position history for each token, so you can follow the token through all analysis stages. The output contains a separate int[] attribute containing all positions from previous Tokenizers/TokenFilters (called "positionHistory"). (Uwe Schindler) SOLR-2524: (SOLR-236, SOLR-237, SOLR-1773, SOLR-1311) Grouping / Field collapsing using the Lucene grouping contrib. The search result can be grouped by field and query. (Martijn van Groningen, Emmanuel Keller, Shalin Shekhar Mangar, Koji Sekiguchi, Iv√°n de Prado, Ryan McKinley, Marc Sturlese, Peter Karich, Bojan Smid, Charles Hornberger, Dieter Grad, Dmitry Lihachev, Doug Steigerwald, Karsten Sperling, Michael Gundlach, Oleg Gnatovskiy, Thomas Traeger, Harish Agarwal, yonik, Michael McCandless, Bill Bell)
· SOLR-1331: Added a srcCore parameter to CoreAdminHandler's mergeindexes action to merge one or more cores' indexes to a target core (shalin)
· SOLR-2610 -- Add an option to delete index through CoreAdmin UNLOAD action (shalin)
Optimizations:
· SOLR-2567: Solr now defaults to TieredMergePolicy. See http://s.apache.org/merging for more information. (rmuir)
Bug Fixes:
· SOLR-2519: Improve text_* fieldTypes in example schema.xml: improve cross-language defaults for text_general; break out separate English-specific fieldTypes (Jan H√∏ydahl, hossman, Robert Muir, yonik, Mike McCandless)
· SOLR-2462: Fix extremely high memory usage problems with spellcheck.collate. Separately, an additional spellcheck.maxCollationEvaluations (default=10000) parameter is added to avoid excessive CPU time in extreme cases (e.g. long queries with many misspelled words). (James Dyer via rmuir)
Other Changes:
· SOLR-2620: Removed unnecessary log4j jar from clustering contrib (Dawid Weiss).
· SOLR-2571: Add a commented out example of the spellchecker's thresholdTokenFrequency parameter to the example solrconfig.xml, and also add a unit test for this feature. (James Dyer via rmuir) SOLR-2576: Deprecate SpellingResult.add(Token token, int docFreq), please use SpellingResult.addFrequency(Token token, int docFreq) instead. (James Dyer via rmuir)
· SOLR-2574: Upgrade slf4j to v1.6.1 (shalin)
· LUCENE-3204: The maven-ant-tasks jar is now included in the source tree; users of the generate-maven-artifacts target no longer have to manually place this jar in the Ant classpath. NOTE: when Ant looks for the maven-ant-tasks jar, it looks first in its pre-existing classpath, so any copies it finds will be used instead of the copy included in the Lucene/Solr source tree. For this reason, it is recommeded to remove any copies of the maven-ant-tasks jar in the Ant classpath, e.g. under ~/.ant/lib/ or under the Ant installation's lib/ directory. (Steve Rowe) SOLR-2611: Fix typos in the example configuration (Eric Pugh via rmuir)
March 31st, 2011New Features:
· SOLR-1302: Added several new distance based functions, including Great Circle (haversine), Manhattan, Euclidean and String (using the StringDistance methods in the Lucene spellchecker). Also added geohash(), deg() and rad() convenience functions. See http://wiki.apache.org/solr/FunctionQuery. (gsingers)
· SOLR-1553: New dismax parser implementation (accessible as "edismax") that supports full lucene syntax, improved reserved char escaping, fielded queries, improved proximity boosting, and improved stopword handling. Note: status is experimental for now. (yonik)
· SOLR-1574: Add many new functions from java Math (e.g. sin, cos) (yonik)
· SOLR-1569: Allow functions to take in literal strings by modifying the FunctionQParser and adding LiteralValueSource (gsingers)
· SOLR-1571: Added unicode collation support though Lucene's CollationKeyFilter (Robert Muir via shalin)
· SOLR-785: Distributed Search support for SpellCheckComponent (Matthew Woytowitz, shalin)
· SOLR-1625: Add regexp support for TermsComponent (Uri Boness via noble)
· SOLR-1297: Add sort by Function capability (gsingers, yonik)
· SOLR-1139: Add TermsComponent Query and Response Support in SolrJ (Matt Weber via shalin)
· SOLR-1177: Distributed Search support for TermsComponent (Matt Weber via shalin)
· SOLR-1621, SOLR-1722: Allow current single core deployments to be specified by solr.xml (Mark Miller , noble)
· SOLR-1532: Allow StreamingUpdateSolrServer to use a provided HttpClient (Gabriele Renzi via shalin)
· SOLR-1653: Add PatternReplaceCharFilter (koji)
· SOLR-1131: FieldTypes can now output multiple Fields per Type and still be searched. This can be handy for hiding the details of a particular implementation such as in the spatial case. (Chris Mattmann, shalin, noble, gsingers, yonik)
· SOLR-1586: Add support for Geohash and Spatial Tile FieldType (Chris Mattmann, gsingers)
· SOLR-1697: PluginInfo should load plugins w/o class attribute also (noble)
· SOLR-1268: Incorporate FastVectorHighlighter (koji)
· SOLR-1750: SolrInfoMBeanHandler added for simpler programmatic access to info currently available from registry.jsp and stats.jsp (ehatcher, hossman)
· SOLR-1815: SolrJ now preserves the order of facet queries. (yonik)
· SOLR-1677: Add support for choosing the Lucene Version for Lucene components within Solr. (Uwe Schindler, Mark Miller)
· SOLR-1379: Add RAMDirectoryFactory for non-persistent in memory index storage. (Alex Baranov via yonik)
· SOLR-1857: Synced Solr analysis with Lucene 3.1. Added KeywordMarkerFilterFactory and StemmerOverrideFilterFactory, which can be used to tune stemming algorithms. Added factories for Bulgarian, Czech, Hindi, Turkish, and Wikipedia analysis. Improved the performance of SnowballPorterFilterFactory. (rmuir)
· SOLR-1657: Converted remaining TokenStreams to the Attributes-based API. All Solr TokenFilters now support custom Attributes, and some have improved performance: especially WordDelimiterFilter and CommonGramsFilter. (rmuir, cmale, uschindler)
· SOLR-1740: ShingleFilterFactory supports the "minShingleSize" and "tokenSeparator" parameters for controlling the minimum shingle size produced by the filter, and the separator string that it uses, respectively. (Steven Rowe via rmuir)
· SOLR-744: ShingleFilterFactory supports the "outputUnigramsIfNoShingles" parameter, to output unigrams if the number of input tokens is fewer than minShingleSize, and no shingles can be generated. (Chris Harris via Steven Rowe)
· SOLR-1923: PhoneticFilterFactory now has support for the Caverphone algorithm. (rmuir)
· SOLR-1957: The VelocityResponseWriter contrib moved to core. Example search UI now available at http://localhost:8983/solr/browse (ehatcher)
· SOLR-1974: Add LimitTokenCountFilterFactory. (koji)
· SOLR-1966: QueryElevationComponent can now return just the included results in the elevation file (gsingers, yonik)
· SOLR-1556: TermVectorComponent now supports per field overrides. Also, it now throws an error if passed in fields do not exist and warnings if fields that do not have term vector options (termVectors, offsets, positions) that align with the schema declaration. It also will now return warnings about (gsingers)
· SOLR-1985: FastVectorHighlighter: add wrapper class for Lucene's SingleFragListBuilder (koji)
· SOLR-1984: Add HyphenationCompoundWordTokenFilterFactory. (PB via rmuir)
· SOLR-397: Date Faceting now supports a "facet.date.include" param for specifying when the upper & lower end points of computed date ranges should be included in the range. Legal values are: "all", "lower", "upper", "edge", and "outer". For backwards compatibility the default value is the set: [lower,upper,edge], so that al ranges between start and ed are inclusive of their endpoints, but the "before" and "after" ranges are not.
· SOLR-945: JSON update handler that accepts add, delete, commit commands in JSON format. (Ryan McKinley, yonik)
· SOLR-2015: Add a boolean attribute autoGeneratePhraseQueries to TextField. autoGeneratePhraseQueries="true" (the default) causes the query parser to generate phrase queries if multiple tokens are generated from a single non-quoted analysis string. For example WordDelimiterFilter splitting text:pdp-11 will cause the parser to generate text:"pdp 11" rather than (text:PDP OR text:11). Note that autoGeneratePhraseQueries="true" tends to not work well for non whitespace delimited languages. (yonik)
· SOLR-1925: Add CSVResponseWriter (use wt=csv) that returns the list of documents in CSV format. (Chris Mattmann, yonik)
· SOLR-1240: "Range Faceting" has been added. This is a generalization of the existing "Date Faceting" logic so that it now supports any all stock numeric field types that support range queries in addition to dates. facet.date is now deprecated in favor of this generalized mechanism. (Gijs Kunze, hossman)
· SOLR-2021: Add SolrEncoder plugin to Highlighter. (koji)
· SOLR-2030: Make FastVectorHighlighter use of SolrEncoder. (koji)
· SOLR-2053: Add support for custom comparators in Solr spellchecker, per LUCENE-2479 (gsingers)
· SOLR-2049: Add hl.multiValuedSeparatorChar for FastVectorHighlighter, per LUCENE-2603. (koji)
· SOLR-2059: Add "types" attribute to WordDelimiterFilterFactory, which allows you to customize how WordDelimiterFilter tokenizes text with a configuration file. (Peter Karich, rmuir)
· SOLR-2099: Add ability to throttle rsync based replication using rsync option --bwlimit. (Brandon Evans via koji)
· SOLR-1316: Create autosuggest component. (Ankul Garg, Jason Rutherglen, Shalin Shekhar Mangar, Grant Ingersoll, Robert Muir, ab)
· SOLR-1568: Added "native" filtering support for PointType, GeohashField. Added LatLonType with filtering support too. See http://wiki.apache.org/solr/SpatialSearch and the example. Refactored some items in Lucene spatial. Removed SpatialTileField as the underlying CartesianTier is broken beyond repair and is going to be moved. (gsingers)
· SOLR-2128: Full parameter substitution for function queries. Example: q=add($v1,$v2)&v1=mul(popularity,5)&v2=20.0 (yonik)
· SOLR-2133: Function query parser can now parse multiple comma separated value sources. It also now fails if there is extra unexpected text after parsing the functions, instead of silently ignoring it. This allows expressions like q=dist(2,vector(1,2),$pt)&pt=3,4 (yonik)
· SOLR-2157: Suggester should return alpha-sorted results when onlyMorePopular=false (ab)
· SOLR-2010: Added ability to verify that spell checking collations have actual results in the index. (James Dyer via gsingers)
· SOLR-2188: Added "maxTokenLength" argument to the factories for ClassicTokenizer, StandardTokenizer, and UAX29URLEmailTokenizer. (Steven Rowe)
· SOLR-2129: Added a Solr module for dynamic metadata extraction/indexing with Apache UIMA. See contrib/uima/README.txt for more information. (Tommaso Teofili via rmuir)
· SOLR-2325: Allow tagging and exlcusion of main query for faceting. (yonik)
· SOLR-2263: Add ability for RawResponseWriter to stream binary files as well as text files. (Eric Pugh via yonik)
· SOLR-860: Add debug output for MoreLikeThis. (koji)
· SOLR-1057: Add PathHierarchyTokenizerFactory. (ryan, koji)
Optimizations:
· SOLR-1679: Don't build up string messages in SolrCore.execute unless they are necessary for the current log level. (Fuad Efendi and hossman)
· SOLR-1874: Optimize PatternReplaceFilter for better performance. (rmuir, uschindler)
· SOLR-1968: speed up initial filter cache population for facet.method=enum and also big terms for multi-valued facet.method=fc. The resulting speedup for the first facet request is anywhere from 30% to 32x, depending on how many terms are in the field and how many documents match per term. (yonik)
· SOLR-2089: Speed up UnInvertedField faceting (facet.method=fc for multi-valued fields) when facet.limit is both high, and a high enough percentage of the number of unique terms in the field. Extreme cases yield speedups over 3x. (yonik)
· SOLR-2046: add common functions to scripts-util. (koji)
Bug Fixes:
· SOLR-1769: Solr 1.4 Replication - Repeater throwing NullPointerException (J√∂rgen Rydenius via noble)
· SOLR-1432: Make the new ValueSource.getValues(context,reader) delegate to the original ValueSource.getValues(reader) so custom sources will work. (yonik)
· SOLR-1572: FastLRUCache correctly implemented the LRU policy only for the first 2B accesses. (yonik)
· SOLR-1582: copyField was ignored for BinaryField types (gsingers)
· SOLR-1563: Binary fields, including trie-based numeric fields, caused null pointer exceptions in the luke request handler. (yonik)
· SOLR-1577: The example solrconfig.xml defaulted to a solr data dir relative to the current working directory, even if a different solr home was being used. The new behavior changes the default to a zero length string, which is treated the same as if no dataDir had been specified, hence the "data" directory under the solr home will be used. (yonik)
· SOLR-1584: SolrJ - SolrQuery.setIncludeScore() incorrectly added fl=score to the parameter list instead of appending score to the existing field list. (yonik) * SOLR-1580: Solr Configuration ignores 'mergeFactor' parameter, always uses Lucene default. (Lance Norskog via Mark Miller)
· SOLR-1593: ReverseWildcardFilter didn't work for surrogate pairs (i.e. code points outside of the BMP), resulting in incorrect matching. This change requires reindexing for any content with such characters. (Robert Muir, yonik)
· SOLR-1596: A rollback operation followed by the shutdown of Solr or the close of a core resulted in a warning: "SEVERE: SolrIndexWriter was not closed prior to finalize()" although there were no other consequences. (yonik)
· SOLR-1595: StreamingUpdateSolrServer used the platform default character set when streaming updates, rather than using UTF-8 as the HTTP headers indicated, leading to an encoding mismatch. (hossman, yonik)
· SOLR-1587: A distributed search request with fl=score, didn't match the behavior of a non-distributed request since it only returned the id,score fields instead of all fields in addition to score. (yonik)
· SOLR-1601: Schema browser does not indicate presence of charFilter. (koji)
· SOLR-1615: Backslash escaping did not work in quoted strings for local param arguments. (Wojtek Piaseczny, yonik)
· SOLR-1628: log contains incorrect number of adds and deletes. (Thijs Vonk via yonik)
· SOLR-343: Date faceting now respects facet.mincount limiting (Uri Boness, Raiko Eckstein via hossman)
· SOLR-1624: Highlighter only highlights values from the first field value in a multivalued field when term positions (term vectors) are stored. (Chris Harris via yonik)
· SOLR-1635: Fixed error message when numeric values can't be parsed by DOMUtils - notably for plugin init params in solrconfig.xml. (hossman)
· SOLR-1651: Fixed Incorrect dataimport handler package name in SolrResourceLoader (Akshay Ukey via shalin)
· SOLR-1660: CapitalizationFilter crashes if you use the maxWordCountOption (Robert Muir via shalin)
· SOLR-1667: PatternTokenizer does not reset attributes such as positionIncrementGap (Robert Muir via shalin)
· SOLR-1711: SolrJ - StreamingUpdateSolrServer had a race condition that could halt the streaming of documents. The original patch to fix this (never officially released) introduced another hanging bug due to connections not being released. (Attila Babo, Erik Hetzner, Johannes Tuchscherer via yonik) * SOLR-1748, SOLR-1747, SOLR-1746, SOLR-1745, SOLR-1744: Streams and Readers retrieved from ContentStreams are not closed in various places, resulting in file descriptor leaks. (Christoff Brill, Mark Miller)
· SOLR-1753: StatsComponent throws NPE when getting statistics for facets in distributed search (Janne Majaranta via koji)
· SOLR-1736:In the slave , If 'mov'ing file does not succeed , copy the file (noble)
· SOLR-1579: Fixes to XML escaping in stats.jsp (David Bowen and hossman)
· SOLR-1777: fieldTypes with sortMissingLast=true or sortMissingFirst=true can result in incorrectly sorted results. (yonik)
· SOLR-1798: Small memory leak (~100 bytes) in fastLRUCache for every commit. (yonik)
· SOLR-1823: Fixed XMLResponseWriter (via XMLWriter) so it no longer throws a ClassCastException when a Map containing a non-String key is used. (Frank Wesemann, hossman)
· SOLR-1797: fix ConcurrentModificationException and potential memory leaks in ResourceLoader. (yonik)
· SOLR-1850: change KeepWordFilter so a new word set is not created for each instance (John Wang via yonik)
· SOLR-1706: fixed WordDelimiterFilter for certain combinations of options where it would output incorrect tokens. (Robert Muir, Chris Male)
· SOLR-1936: The JSON response format needed to escape unicode code point U+2028 - 'LINE SEPARATOR' (Robert Hofstra, yonik)
· SOLR-1914: Change the JSON response format to output float/double values of NaN,Infinity,-Infinity as strings. (yonik)
· SOLR-1948: PatternTokenizerFactory should use parent's args (koji)
· SOLR-1870: Indexing documents using the 'javabin' format no longer fails with a ClassCastException whenSolrInputDocuments contain field values which are Collections or other classes that implement Iterable. (noble, hossman)
· SOLR-1981: Solr will now fail correctly if solr.xml attempts to specify multiple cores that have the same name (hossman)
· SOLR-1791: Fix messed up core names on admin gui (yonik via koji)
· SOLR-1995: Change date format from "hour in am/pm" to "hour in day" in CoreContainer and SnapShooter. (Hayato Ito, koji)
· SOLR-2008: avoid possible RejectedExecutionException w/autoCommit by making SolreCore close the UpdateHandler before closing the SearchExecutor. (NarasimhaRaju, hossman)
· SOLR-2036: Avoid expensive fieldCache ram estimation for the admin stats page. (yonik)
· SOLR-2047: ReplicationHandler should accept bool type for enable flag. (koji)
· SOLR-1630: Fix spell checking collation issue related to token positions (rmuir, gsingers)
· SOLR-2100: The replication handler backup command didn't save the commit point and hence could fail when a newer commit caused the older commit point to be removed before it was finished being copied. This did not affect normal master/slave replication. (Peter Sturge via yonik)
· SOLR-2114: Fixed parsing error in hsin function. The function signature has changed slightly. (gsingers)
· SOLR-2083: SpellCheckComponent misreports suggestions when distributed (James Dyer via gsingers)
· SOLR-2111: Change exception handling in distributed faceting to work more like non-distributed faceting, change facet_counts/exception from a String to a List to enable listing all exceptions that happened, and prevent an exception in one facet command from affecting another facet command. (yonik)
· SOLR-2110: Remove the restriction on names for local params substitution/dereferencing. Properly encode local params in distributed faceting. (yonik)
· SOLR-2135: Fix behavior of ConcurrentLRUCache when asking for getLatestAccessedItems(0) or getOldestAccessedItems(0). (David Smiley via hossman)
· SOLR-2148: Highlighter doesn't support q.alt. (koji)
· SOLR-2180: It was possible for EmbeddedSolrServer to leave searchers open if a request threw an exception. (yonik)
· SOLR-2173: Suggester should always rebuild Lookup data if Lookup.load fails. (ab)
· SOLR-2081: BaseResponseWriter.isStreamingDocs causes SingleResponseWriter.end to be called 2x (Chris A. Mattmann via hossman) * SOLR-2219: The init() method of every SolrRequestHandler was being called twice. (ambikeshwar singh and hossman)
· SOLR-2285: duplicate SolrEventListeners no longer created (hossman)
· SOLR-1993: fix String cast assumption in JavaBinCodec - specific addresses "commitWithin" option on Update requests. (noble, hossman, and Maxim Valyanskiy)
· SOLR-2261: fix velocity template layout.vm that referred to an older version of jquery. (Eric Pugh via rmuir)
· SOLR-2307: fix bug in PHPSerializedResponseWriter (wt=phps) when dealing with SolrDocumentList objects -- ie: sharded queries. (Antonio Verni via hossman)
· SOLR-2127: Fixed serialization of default core and indentation of solr.xml when serializing. (Ephraim Ofir, Mark Miller)
· SOLR-2320: Fixed ReplicationHandler detail reporting for masters (hossman)
· SOLR-482: Provide more exception handling in CSVLoader (gsingers)
· SOLR-1283: HTMLStripCharFilter sometimes threw a "Mark Invalid" exception. (Julien Coloos, hossman, yonik)
· SOLR-2085: Improve SolrJ behavior when FacetComponent comes before QueryComponent (Tomas Salfischberger via hossman)
· SOLR-1940: Fix SolrDispatchFilter behavior when Content-Type is unknown (Lance Norskog and hossman)
· SOLR-1983: snappuller fails when modifiedConfFiles is not empty and full copy of index is needed. (Alexander Kanarsky via yonik)
· SOLR-2156: SnapPuller fails to clean Old Index Directories on Full Copy (Jayendra Patil via yonik)
· SOLR-96: Fix XML parsing in XMLUpdateRequestHandler and DocumentAnalysisRequestHandler to respect charset from XML file and only use HTTP header's "Content-Type" as a "hint". (uschindler)
· SOLR-2339: Fix sorting to explicitly generate an error if you attempt to sort on a multiValued field. (hossman)
· SOLR-2348: Fix field types to explicitly generate an error if you attempt to get a ValueSource for a multiValued field. (hossman)
· SOLR-2380: Distributed faceting could miss values when facet.sort=index and when facet.offset was greater than 0. (yonik) * SOLR-1656: XIncludes and other HREFs in XML files loaded by ResourceLoader are fixed to be resolved using the URI standard (RFC 2396). The system identifier is no longer a plain filename with path, it gets initialized using a custom URI scheme "solrres:". This scheme is resolved using a EntityResolver that utilizes ResourceLoader (org.apache.solr.common.util.SystemIdResolver). This makes all relative pathes in Solr's config files behave like expected. This change introduces some backwards breaks in the API: Some config classes (Config, SolrConfig, IndexSchema) were changed to take org.xml.sax.InputSource instead of InputStream. There may also be some backwards breaks in existing config files, it is recommended to check your config files / XSLTs and replace all XIncludes/HREFs that were hacked to use absolute paths to use relative ones. (uschindler)
· SOLR-309: Fix FieldType so setting an analyzer on a FieldType that doesn't expect it will generate an error. Practically speaking this means that Solr will now correctly generate an error on initialization if the schema.xml contains an analyzer configuration for a fieldType that does not use TextField. (hossman)
· SOLR-2192: StreamingUpdateSolrServer.blockUntilFinished was not thread safe and could throw an exception. (yonik)
Other Changes:
· SOLR-1602: Refactor SOLR package structure to include o.a.solr.response and move QueryResponseWriters in there (Chris A. Mattmann, ryan, hoss)
· SOLR-1516: Addition of an abstract BaseResponseWriter class to simplify the development of QueryResponseWriter implementations. (Chris A. Mattmann via noble)
· SOLR-1592: Refactor XMLWriter startTag to allow arbitrary attributes to be written (Chris A. Mattmann via noble)
· SOLR-1561: Added Lucene 2.9.1 spatial contrib jar to lib. (gsingers)
· SOLR-1570: Log warnings if uniqueKey is multi-valued or not stored (hossman, shalin)
· SOLR-1558: QueryElevationComponent only works if the uniqueKey field is implemented using StrField. In previous versions of Solr no warning or error would be generated if you attempted to use QueryElevationComponent, it would just fail in unexpected ways. This has been changed so that it will fail with a clear error message on initialization. (hossman)
· SOLR-1611: Added Lucene 2.9.1 collation contrib jar to lib (shalin)
· SOLR-1608: Extract base class from TestDistributedSearch to make it easy to write test cases for other distributed components. (shalin)
· Upgraded to Lucene 2.9-dev r888785 (shalin)
· SOLR-1610: Generify SolrCache (Jason Rutherglen via shalin)
· SOLR-1637: Remove ALIAS command
· SOLR-1662: Added Javadocs in BufferedTokenStream and fixed incorrect cloning in TestBufferedTokenStream (Robert Muir, Uwe Schindler via shalin) * SOLR-1674: Improve analysis tests and cut over to new TokenStream API. (Robert Muir via Mark Miller)
· SOLR-1661: Remove adminCore from CoreContainer . removed deprecated methods setAdminCore(), getAdminCore() (noble)
· SOLR-1704: Google collections moved from clustering to core (noble)
· SOLR-1268: Add Lucene 2.9-dev r888785 FastVectorHighlighter contrib jar to lib. (koji)
· SOLR-1538: Reordering of object allocations in ConcurrentLRUCache to eliminate (an extremely small) potential for deadlock. (gabriele renzi via hossman) * SOLR-1588: Removed some very old dead code. (Chris A. Mattmann via hossman) * SOLR-1696 : Deprecate old syntax and move configuration to HighlightComponent (noble)
· SOLR-1727: SolrEventListener should extend NamedListInitializedPlugin (noble)
· SOLR-1771: Improved error message when StringIndex cannot be initialized for a function query (hossman)
· SOLR-1695: Improved error messages when adding a document that does not contain exactly one value for the uniqueKey field (hossman)
· SOLR-1776: DismaxQParser and ExtendedDismaxQParser now use the schema.xml "defaultSearchField" as the default value for the "qf" param instead of failing with an error when "qf" is not specified. (hossman)
· SOLR-1851: luceneAutoCommit no longer has any effect - it has been remove (Mark Miller)
· SOLR-1865: SolrResourceLoader.getLines ignores Byte Order Markers (BOMs) at the beginning of input files, these are often created by editors such as Windows Notepad. (rmuir, hossman)
· SOLR-1938: ElisionFilterFactory will use a default set of French contractions if you do not supply a custom articles file. (rmuir) * SOLR-2003: SolrResourceLoader will report any encoding errors, rather than silently using replacement characters for invalid inputs (blargy via rmuir)
· SOLR-1804: Google collections updated to Google Guava (which is a superset of collections and contains bug fixes) (gsingers)
· SOLR-2034: Switch to JavaBin codec version 2. Strings are now serialized as the number of UTF-8 bytes, followed by the bytes in UTF-8. Previously Strings were serialized as the number of UTF-16 chars, followed by the bytes in Modified UTF-8. (hossman, yonik, rmuir)
· SOLR-2013: Add mapping-FoldToASCII.txt to example conf directory. (Steven Rowe via koji) * SOLR-2213: Upgrade to jQuery 1.4.3 (Erick Erickson via ryan)
· SOLR-1826: Add unit tests for highlighting with termOffsets=true and overlapping tokens. (Stefan Oestreicher via rmuir)
· SOLR-2340: Add version infos to message in JavaBinCodec when throwing exception. (koji)
· SOLR-2350: Since Solr no longer requires XML files to be in UTF-8 (see SOLR-96) SimplePostTool (aka: post.jar) has been improved to work with files of any mime-type or charset. (hossman)
· SOLR-2365: Move DIH jars out of solr.war (David Smiley via yonik)
· SOLR-2381: Include a patched version of Jetty (6.1.26 + JETTY-1340) to fix problematic UTF-8 handling for supplementary characters. (Bernd Fehling, uschindler, yonik, rmuir)
· SOLR-2391: The preferred Content-Type for XML was changed to application/xml. XMLResponseWriter now only delivers using this type; updating documents and analyzing documents is still supported using text/xml as Content-Type, too. If you have clients that are hardcoded on text/xml as Content-Type, you have to change them. (uschindler, rmuir)
· SOLR-2414: All ResponseWriters now use only ServletOutputStreams and wrap their own Writer around it when serializing. This fixes the bug in PHPSerializedResponseWriter that produced wrong string length if the servlet container had a broken UTF-8 encoding that was in fact CESU-8 (see SOLR-1091). The system property to enable the CESU-8 byte counting in PHPSerializesResponseWriters for broken servlet containers was therefore removed and is now ignored if set. Output is always UTF-8. (uschindler, yonik, rmuir)
Build:
· SOLR-1522: Automated release signing process. (gsingers)
· SOLR-1891: Make lucene-jars-to-solr fail if copying any of the jars fails, and update clean to remove the jars in that directory (Mark Miller)
· LUCENE-2466: Commons-Codec was upgraded from 1.3 to 1.4. (rmuir)
· SOLR-2042: Fixed some Maven deps (Drew Farris via gsingers)
· LUCENE-2657: Switch from using Maven POM templates to full POMs when generating Maven artifacts (Steven Rowe)
Documentation:
· SOLR-1590: Javadoc for XMLWriter#startTag (Chris A. Mattmann via hossman)
· SOLR-1792: Documented peculiar behavior of TestHarness.LocalRequestFactory (hossman)
June 26th, 2010Bug Fixes:
· SOLR-1934: Upgrade to Apache Lucene 2.9.3 to obtain several bug fixes from the previous 2.9.1. See the Lucene 2.9.3 release notes for details. (hossman, Mark Miller)
· SOLR-1432: Make the new ValueSource.getValues(context,reader) delegate to the original ValueSource.getValues(reader) so custom sources will work. (yonik)
· SOLR-1572: FastLRUCache correctly implemented the LRU policy only for the first 2B accesses. (yonik)
· SOLR-1595: StreamingUpdateSolrServer used the platform default character set when streaming updates, rather than using UTF-8 as the HTTP headers indicated, leading to an encoding mismatch. (hossman, yonik)
· SOLR-1660: CapitalizationFilter crashes if you use the maxWordCountOption (Robert Muir via shalin)
· SOLR-1662: Added Javadocs in BufferedTokenStream and fixed incorrect cloning in TestBufferedTokenStream (Robert Muir, Uwe Schindler via shalin)
· SOLR-1711: SolrJ - StreamingUpdateSolrServer had a race condition that could halt the streaming of documents. The original patch to fix this (never officially released) introduced another hanging bug due to connections not being released. (Attila Babo, Erik Hetzner via yonik) SOLR-1748, SOLR-1747, SOLR-1746, SOLR-1745, SOLR-1744: Streams and Readers retrieved from ContentStreams are not closed in various places, resulting in file descriptor leaks. (Christoff Brill, Mark Miller) SOLR-1580: Solr Configuration ignores 'mergeFactor' parameter, always uses Lucene default. (Lance Norskog via Mark Miller)
· SOLR-1777: fieldTypes with sortMissingLast=true or sortMissingFirst=true can result in incorrectly sorted results. (yonik)
· SOLR-1797: fix ConcurrentModificationException and potential memory leaks in ResourceLoader. (yonik)
· SOLR-1798: Small memory leak (~100 bytes) in fastLRUCache for every commit. (yonik)
· SOLR-1522: Show proper message if tag is missing for DIH ScriptTransformer (noble)
· SOLR-1538: Reordering of object allocations in ConcurrentLRUCache to eliminate (an extremely small) potential for deadlock. (gabriele renzi via hossman)
· SOLR-1558: QueryElevationComponent only works if the uniqueKey field is implemented using StrField. In previous versions of Solr no warning or error would be generated if you attempted to use QueryElevationComponent, it would just fail in unexpected ways. This has been changed so that it will fail with a clear error message on initialization. (hossman)
· SOLR-1563: Binary fields, including trie-based numeric fields, caused null pointer exceptions in the luke request handler. (yonik)
· SOLR-1579: Fixes to XML escaping in stats.jsp (David Bowen and hossman)
· SOLR-1582: copyField was ignored for BinaryField types (gsingers)
· SOLR-1596: A rollback operation followed by the shutdown of Solr or the close of a core resulted in a warning: "SEVERE: SolrIndexWriter was not closed prior to finalize()" although there were no other consequences. (yonik)
· SOLR-1651: Fixed Incorrect dataimport handler package name in SolrResourceLoader (Akshay Ukey via shalin)
· SOLR-1936: The JSON response format needed to escape unicode code point U+2028 - 'LINE SEPARATOR' (Robert Hofstra, yonik)
· SOLR-1852: Fix WordDelimiterFilterFactory bug where position increments were not being applied properly to subwords. (Peter Wolanin via Robert Muir)
· SOLR-1706: fixed WordDelimiterFilter for certain combinations of options where it would output incorrect tokens. (Robert Muir, Chris Male)
· SOLR-1948: PatternTokenizerFactory should use parent's args (koji)
· SOLR-1870: Indexing documents using the 'javabin' format no longer fails with a ClassCastException whenSolrInputDocuments contain field values which are Collections or other classes that implement Iterable. (noble, hossman)
· SOLR-1769 Solr 1.4 Replication - Repeater throwing NullPointerException (noble)
November 11th, 2009· Major performance enhancements in indexing, searching, and faceting
· Revamped all-Java index replication that's simple to configure and can replicate config files
· Greatly improved database integration via the DataImportHandler
· Rich document processing (Word, PDF, HTML) via Apache Tika
· Dynamic search results clustering via Carrot2
· Multi-select faceting (support for multiple items in a single category to be selected)
· Many powerful query enhancements, including ranges over arbitrary functions, nested queries of different syntaxes
· Many other plugins including Terms for auto-suggest, Statistics, TermVectors, Deduplication