Solr Changelog

New in version 5.2.1

June 15th, 2015
  • Bug Fixes:
  • SOLR-7588: Fix javascript bug introduced by SOLR-7409 that breaks the dataimport screen in the admin UI.
  • SOLR-7616: Faceting on a numeric field with a unique() subfacet function on another numeric field can result in incorrect results or an exception.
  • SOLR-7518: New Facet Module should respect shards.tolerant and process all non-failing shards instead of throwing an exception.
  • SOLR-7574: A request with a json content type but no body caused a null pointer exception
  • SOLR-7512: SolrOutputFormat creates an invalid solr.xml in the solr home zip for MapReduceIndexerTool.
  • SOLR-7638: Fix new (Angular-based) admin UI Cloud pane
  • SOLR-7655: The DefaultSolrHighlighter since 5.0 was determining if payloads were present in a way that was slow, especially when lots of fields were highlighted. It's now fast.
  • SOLR-7493: Requests aren't distributed evenly if the collection isn't present locally.
  • Other Changes:
  • SOLR-7623: Fix regression from SOLR-7484 that made it impossible to override SolrDispatchFilter#execute() and SolrDispatchFilter#sendError(). You can now override these functions in HttpSolrCall.
  • SOLR-7648: Expose remote IP and Host via the AuthorizationContext to be used by the authorization plugin.

New in version 5.1.0 (April 15th, 2015)

  • New Features:
  • SOLR-6909: Extract atomic update handling logic into AtomicUpdateDocumentMerger class and enable subclassing. (Steve Davids, yonik)
  • SOLR-6845: Add a “buildOnStartup” option for suggesters. (Tomás Fernández Löbbe)
  • SOLR-6449: Add first class support for Real Time Get in Solrj. (Anurag Sharma, Steve Davids via shalin)
  • SOLR-6954: SolrClient now implements Closeable, and shutdown() has been deprecated in favour of close(). (Mark Miller, Tomás Fernández Löbbe, Alan Woodward)
  • SOLR-4905: Allow fromIndex parameter to JoinQParserPlugin to refer to a single-sharded collection that has a replica on all nodes where there is a replica in the to index. (Jack Lo, Timothy Potter)
  • SOLR-6648: Add support in AnalyzingInfixLookupFactory and BlendedInfixLookupFactory for setting 'highlight' and 'allTermsRequired' in the suggester configuration. (Boon Low, Varun Thacker via Tomás Fernández Löbbe)
  • SOLR-7083: Support managing all named components in solrconfig such as requestHandler, queryParser, queryResponseWriter, valueSourceParser, transformer, queryConverter. (Noble Paul)
  • SOLR-7005: Spatial 2D heatmap faceting on RPT fields via new facet.heatmap with PNG and 2D int array formats. (David Smiley)
  • SOLR-7019: Support changing field key when using interval faceting. (Tomás Fernández Löbbe)
  • SOLR-6832: Queries be served locally rather than being forwarded to another replica. (Sachin Goyal, Timothy Potter)
  • SOLR-1945: Add support for child docs in DocumentObjectBinder. (Noble Paul, Mark Miller)
  • SOLR-7125, SOLR-7158: You can upload and download configurations via CloudSolrClient. (Alan Woodward, Ishan Chattopadhyaya)
  • SOLR-5507: Admin UI - Refactoring using AngularJS, first part. (Upayavira via Erick Erickson)
  • SOLR-7164: BBoxField defaults sub fields to not-stored. (ryan)
  • SOLR-7155,SOLR-7201: All SolrClient methods now take an optional 'collection' argument. (Alan Woodward, Shawn Heisey)
  • SOLR-6359: Allow number of logs and records kept by UpdateLog to be configured. (Ramkumar Aiyengar)
  • SOLR-7189: Allow DIH to extract content from embedded documents via Tika. (Tim Allison via shalin)
  • SOLR-6841: Visualize lucene segment information in Admin UI. (Alexey Kozhemiakin, Michal Bienkowski, hossman, Shawn Heisey, Varun Thacker via shalin)
  • SOLR-5846: EnumField supports DocValues functionality. (Elran Dvir, shalin)
  • SOLR-4044: CloudSolrClient.connect() throws a more useful exception if the cluster is not ready, and can now take an optional timeout argument to wait for the cluster. (Alan Woodward, shalin, yonik, Mark Miller, Vitaliy Zhovtyuk)
  • SOLR-7073: Support adding a jar to a collections classpath. (Noble Paul)
  • SOLR-7126: Secure loading of runtime external jars. (Noble Paul)
  • SOLR-6349: Added support for stats.field localparams to enable/disable individual stats to limit the amount of computation done and the amount of data returned. eg: stats.field={!min=true max=true}field_name. (Tomas Fernandez-Lobbe, Xu Zhang, hossman)
  • SOLR-7218: lucene/solr query syntax to give any query clause a constant score. General Form: ^= Example: (color:blue color:green)^=2.0 text:shoes. (yonik)
  • SOLR-7214: New Facet module with a JSON API, facet functions, aggregations, and analytics. Any facet type can have sub facets, and facets can be sorted by arbitrary aggregation functions. Examples: json.facet={x:'avg(price)', y:'unique(color)'} json.facet={count1:{query:"price:[10 TO 20]"}, count2:{query:"color:blue AND popularity:[0 TO 50]"} } json.facet={categories:{terms:{field:cat, sort:"x desc", facet:{x:"avg(price)", y:"sum(price)"}}}}. (yonik)
  • SOLR-6141: Schema API: Remove fields, dynamic fields, field types and copy fields; and replace fields, dynamic fields and field types. (Steve Rowe)
  • SOLR-7217: HTTP POST body is auto-detected when the client is curl and the content type is form data (curl's default), allowing users to use curl to send JSON or XML without having to specify the content type. (yonik)
  • SOLR-6892: Update processors can now be top-level components and they can be specified in request to create a new custom update chain. (Noble Paul)
  • SOLR-7216: Solr JSON Request API:
  • HTTP search requests can have a JSON body.
  • JSON request can also be passed via the "json" parameter.
  • Smart merging of multiple JSON parameters: ruery parameters starting with "json." will be merged into the JSON request.
  • Legacy query parameters can also be passed in the "params" block of the JSON request. (yonik)
  • SOLR-7245: Temporary ZK election or connection loss should not stall indexing due to leader initiated recovery. (Ramkumar Aiyengar)
  • SOLR-6350: StatsComponent now supports Percentiles. (Xu Zhang, hossman)
  • SOLR-7306: Percentiles support for the new facet module. Percentiles can be calculated for all facet buckets and field faceting can sort by percentile values. Examples: json.facet={ median_age : "percentile(age,50)" } json.facet={ salary_percentiles : "percentile(salary,25,50,75)" }. (yonik)
  • SOLR-7307: EmbeddedSolrServer can now be started up by passing a path to a solr home directory, or a NodeConfig object. (Alan Woodward, Mike Drob)
  • SOLR-1387: Add facet.contains and facet.contains.ignoreCase options. (Tom Winch via Alan Woodward)
  • SOLR-7082: Streaming Aggregation for SolrCloud. (Joel bernstein, Yonik Seeley)
  • SOLR-7212: Parameter substitution / macro expansion across entire request. Substitution can contain further expansions and default values are supported. Example: q=price:[ ${low:0} TO ${high} ]&low=100&high=200. (yonik)
  • SOLR-7226: Make /query/* jmx/* , requestDispatcher/*, properties in solrconfig.xml editable. (Noble Paul)
  • SOLR-7240: '/' redirects to '/solr/' for convinience. (Martijn Koster, hossman)
  • SOLR-5911: Added payload support for term vectors. New "termPayloads" option for fields / types in the schema, and "tv.payloads" param for the term vector component. (Mike McCandless, David Smiley)
  • Bug Fixes:
  • SOLR-7046: NullPointerException when group.function uses query() function. (Jim Musil via Erick Erickson)
  • SOLR-7072: Multiple mlt.fl does not work. (Constantin Mitocaru, shalin)
  • SOLR-6775: Creating backup snapshot results in null pointer exception. (Ryan Hesson, Varun Thacker via shalin)
  • SOLR-5890: Delete silently fails if not sent to shard where document was added. (Ishan Chattopadhyaya, Noble Paul)
  • SOLR-7101: JmxMonitoredMap can throw an exception in clear when queryNames fails. (Mark Miller, Wolfgang Hoschek)
  • SOLR-6214: Snapshots numberToKeep param only keeps n-1 backups. (Mathias H., Ramana, Varun Thacker via shalin)
  • SOLR-7084: FreeTextSuggester: Better error message when doing a lookup during dictionary build. Used to be nullpointer. (janhoy)
  • SOLR-6956: OverseerCollectionProcessor and replicas on the overseer node can sometimes operate on stale cluster state due to overseer holding the state update lock for a long time. (Mark Miller, shalin)
  • SOLR-7104: Propagate property prefix parameters for ADDREPLICA Collections API call. (Varun Thacker via Anshum Gupta)
  • SOLR-7113: Multiple calls to UpdateLog#init is not thread safe with respect to the HDFS FileSystem client object usage. (Mark Miller, Vamsee Yarlagadda)
  • SOLR-7128: Two phase distributed search is fetching extra fields in GET_TOP_IDS phase. (Pablo Queixalos, shalin)
  • SOLR-7139: Fix SolrContentHandler for TIKA to ignore multiple startDocument events. (Chris A. Mattmann, Uwe Schindler)
  • SOLR-7178: OverseerAutoReplicaFailoverThread compares Integer objects using ==. (shalin)
  • SOLR-7171: BaseDistributedSearchTestCase now clones getSolrHome() for each subclass, and consistently uses getSolrXml(). (hossman)
  • SOLR-6657: DocumentDictionaryFactory requires weightField to be mandatory, but it shouldn't. (Erick Erickson)
  • SOLR-7206: MiniSolrCloudCluster wasn't dealing with SSL mode correctly. (Alan Woodward)
  • SOLR-4464: DIH Processed documents counter resets to zero after first entity is processed. (Dave Cook, Shawn Heisey, Aaron Greenspan, Thomas Champagne via shalin)
  • SOLR-7209: /update/json/docs carry forward fields from previous records. (Noble Paul)
  • SOLR-7195: Fixed a bug where the bin/solr shell script would incorrectly detect another Solr process listening on the same port number. If the requested listen port was 8983, it would match on another Solr using port 18983 for any purpose. Also escapes the dot character in all grep commands looking for start.jar. (Xu Zhang via Shawn Heisey)
  • SOLR-6682: Fix response when using EnumField with StatsComponent. (Xu Zhang via hossman)
  • SOLR-7109: Indexing threads stuck during network partition can put leader into down state. (Mark Miller, Anshum Gupta, Ramkumar Aiyengar, yonik, shalin)
  • SOLR-7092: Stop the HDFS lease recovery retries in HdfsTransactionLog on close and try to avoid lease recovery on closed files. (Mark Miller)
  • SOLR-7285: ActionThrottle will not pause if getNanoTime first returns 0. (Mark Miller, Gregory Chanan)
  • SOLR-7141: RecoveryStrategy: Raise time that we wait for any updates from the leader before they saw the recovery state to have finished. (Mark Miller)
  • SOLR-7248: In legacyCloud=false mode we should check if the core was hosted on the same node before registering it. (Varun Thacker, Noble Paul, Mark Miller)
  • SOLR-7294: Migrate API fails with 'Invalid status request: notfoundretried 6times' message. (Jessica Cheng Mallet, shalin)
  • SOLR-7254: Make an invalid negative start/rows throw a HTTP 400 error (Bad Request) instead of causing a 500 error. (Ramkumar Aiyengar, Hrishikesh Gadre, yonik)
  • SOLR-7305: BlendedInfixLookupFactory swallows root IOException when it occurs. (Stephan Lagraulet via shalin)
  • SOLR-7293: Fix bug that Solr server does not listen on IPv6 interfaces by default. (Uwe Schindler, Sebastian Pesman)
  • SOLR-7298: Fix Collections API calls (SolrJ) to not add name parameter when not needed. (Shai Erera, Anshum Gupta)
  • SOLR-7134: Replication can still cause index corruption. (Mark Miller, shalin, Mike Drob)
  • SOLR-7309: Make bin/solr, bin/post work when Solr installation directory contains spaces. (Ramkumar Aiyengar, Martijn Koster)
  • SOLR-6924: The config API forcefully refreshes all replicas in the collection to ensure all are updated. (Noble Paul)
  • SOLR-7266: The IgnoreCommitOptimizeUpdateProcessor blocks commit requests from replicas needing to recover. (Jessica Cheng Mallet, Timothy Potter)
  • SOLR-7299: bin\solr.cmd doesn't use jetty SSL configuration. (Steve Rowe)
  • SOLR-7334: Admin UI does not show "Num Docs" and "Deleted Docs". (Erick Erickson, Timothy Potter)
  • SOLR-7338, SOLR-6583: A reloaded core will never register itself as active after a ZK session expiration. (Mark Miller, Timothy Potter)
  • SOLR-7366: Can't index example XML docs into the cloud example using bin/post due to regression in ManagedIndexSchema's handling of ResourceLoaderAware objects used by field types. (Steve Rowe, Timothy Potter)
  • SOLR-7284: HdfsUpdateLog is using hdfs FileSystem.get without turning off the cache. (Mark Miller)
  • SOLR-7286: Using HDFS's FileSystem.newInstance does not guarantee a new instance. (Mark Miller)
  • Optimizations:
  • SOLR-7049: Move work done by the LIST Collections API call to the Collections Handler. (Varun Thacker via Anshum Gupta).
  • SOLR-7116: Distributed facet refinement requests would needlessly compute other types of faceting that have already been computed. (David Smiley, Hossman)
  • SOLR-7239: improved performance of min & max in StatsComponent, as well as situations where local params disable all stats. (hossman)
  • Other Changes:
  • SOLR-7014: Collapse identical catch branches in try-catch statements. (shalin)
  • SOLR-6500: Refactor FileFetcher in SnapPuller, add debug logging. (Ramkumar Aiyengar via Mark Miller)
  • SOLR-7076: In DIH, TikaEntityProcessor should have support for onError=skip. (Noble Paul)
  • SOLR-7094: Better error reporting of JSON parse issues when indexing docs. (Ishan Chattopadhyaya via Timothy Potter)
  • SOLR-7103: Remove unused method params in faceting code. (shalin)
  • SOLR-6311: When performing distributed queries, SearchHandler should use path when no qt or shard.qt parameter is specified; fix also resolves SOLR-4479. (Steve Molloy, Timothy Potter)
  • SOLR-7112: Fix DeleteInactiveReplicaTest.deleteLiveReplicaTest test failures. (shalin)
  • SOLR-6902: Use JUnit rules instead of inheritance with distributed Solr tests to allow for multiple tests without the same class. (Ramkumar Aiyengar, Erick Erickson, Mike McCandless)
  • SOLR-7032: Clean up test remnants of old-style solr.xml. (Erick Erickson)
  • SOLR-7145: SolrRequest is now parametrized by its response type. (Alan Woodward)
  • SOLR-7142: Fix TestFaceting.testFacets. (Michal Kroliczek via shalin)
  • SOLR-7156: Fix test failures due to resource leaks on windows. (Ishan Chattopadhyaya via shalin)
  • SOLR-7147: Introduce new TrackingShardHandlerFactory for monitoring what requests are sent to shards during tests. (hossman, shalin)
  • SOLR-7160: Rename ConfigSolr to NodeConfig, and decouple it from xml representation. (Alan Woodward)
  • SOLR-7166: Encapsulate JettySolrRunner configuration. (Alan Woodward)
  • SOLR-7130: Make stale state notification work without failing the requests. (Noble Paul, shalin)
  • SOLR-7151: SolrClient query methods throw IOException. (Alan Woodward)
  • SOLR-7179: JettySolrRunner no longer passes configuration to SolrDispatchFilter via system properties, but instead uses a Properties object in the servlet context. (Alan Woodward)
  • SOLR-6275: Improve accuracy of QTime reporting. (Ramkumar Aiyengar)
  • SOLR-7174: DIH should reset TikaEntityProcessor so that it is capable of re-use. (Alexandre Rafalovitch , Gary Taylor via Noble Paul)
  • SOLR-6804: Untangle SnapPuller and ReplicationHandler. (Ramkumar Aiyengar)
  • SOLR-7180: MiniSolrCloudCluster will startup and shutdown its jetties in parallel. (Alan Woodward, Tomás Fernández Löbbe, Vamsee Yarlagadda)
  • SOLR-7173: Fix ReplicationFactorTest on Windows by adding better retry support after seeing no response exceptions. (Ishan Chattopadhyaya via Timothy Potter)
  • SOLR-7246: Speed up BasicZkTest, TestManagedResourceStorage. (Ramkumar Aiyengar)
  • SOLR-7258: Forbid MessageFormat.format and MessageFormat single-arg constructor. (shalin)
  • SOLR-7162: Remove unused SolrSortField interface. (yonik, Connor Warrington via shalin)
  • SOLR-6414: Update to Hadoop 2.6.0. (Mark Miller)
  • SOLR-6673: MDC based logging of collection, shard, replica, core. (Ishan Chattopadhyaya , Noble Paul)
  • SOLR-7291: Test indexing on ZK disconnect with ChaosMonkey tests. (Ramkumar Aiyengar)
  • SOLR-7203: Remove buggy no-op retry code in HttpSolrClient. (Alan Woodward, Mark Miller, Greg Solovyev)
  • SOLR-7202: Remove deprecated string action types in Overseer and OverseerCollectionProcessor - "deletecollection", "createcollection", "reloadcollection", "removecollection", "removeshard". (Varun Thacker, shalin)
  • SOLR-7290: Rename catchall _text field in data_driven_schema_configs to _text_. (Steve Rowe)
  • SOLR-7346: Stored XSS in Admin UI Schema-Browser page and Analysis page. (Mei Wang via Timothy Potter)

New in version 5.0.0 (February 24th, 2015)

  • NEW FEATURES:
  • SOLR-6103: Added DateRangeField for indexing date ranges, especially multi-valued ones. Supports facet.range, DateMath, and is mostly interoperable with TrieDateField. Based on LUCENE-5648. (David Smiley)
  • SOLR-6403: TransactionLog replay status logging. (Mark Miller)
  • SOLR-4580: Support for protecting content in ZooKeeper. (Per Steffensen, Mark Miller)
  • SOLR-6365: specify appends, defaults, invariants outside of the request handler. (Noble Paul, Erik Hatcher, shalin)
  • SOLR-5097: Schema API: Add REST support for adding dynamic fields to the schema. (Steve Rowe)
  • SOLR-5098: Schema API: Add REST support for adding field types to the schema. (Timothy Potter)
  • SOLR-5473 : Split clusterstate.json per collection and watch states selectively. (Noble Paul, Mark Miller, shalin, Jessica Cheng Mallet, Timothy Potter, Anshum Gupta)
  • SOLR-5474 : Support for SOLR-5473 in SolrJ. (Timothy Potter, Noble Paul, Mark Miller)
  • SOLR-5810 : Support for SOLR-5473 in solr admin UI. (Timothy Potter, Noble Paul)
  • SOLR-6482: Add an onlyIfDown flag for DELETEREPLICA collections API command. (Erick Erickson)
  • SOLR-6354: stats.field can now be used to generate stats over the numeric results of arbitrary functions, ie: stats.field={!func}product(price,popularity). (hossman)
  • SOLR-6485: ReplicationHandler should have an option to throttle the speed of replication. (Varun Thacker, Noble Paul)
  • SOLR-6543: Give HttpSolrClient the ability to send PUT requests. (Gregory Chanan)
  • SOLR-5986: Don't allow runaway queries from harming Solr cluster health or search performance. (Anshum Gupta, Steve Rowe, Robert Muir)
  • SOLR-6565: SolrRequest support for query params. (Gregory Chanan)
  • SOLR-6512: Add a collections API call to add/delete arbitrary properties to a specific replica. Optionally adding sliceUnique=true will remove this property from all other replicas within a particular slice. (Erick Erickson)
  • SOLR-6513: Add a collectionsAPI call BALANCESLICEUNIQUE. Allows the even distribution of custom replica properties across nodes making up a collection, at most one node per slice will have the property.
  • SOLR-6605: Make ShardHandlerFactory maxConnections configurable. (Christine Poerschke via shalin)
  • SOLR-6585: RequestHandlers can optionally handle sub paths as well. (Noble Paul)
  • SOLR-6617: /update/json/docs path will use fully qualified node names by default. (Noble Paul)
  • SOLR-4715: Add CloudSolrClient constructors which accept a HttpClient instance. (Hardik Upadhyay, Shawn Heisey, shalin)
  • SOLR-5992: add "removeregex" as an atomic update operation. (Vitaliy Zhovtyuk via Erick Erickson)
  • SOLR-6633: /update/json/docs path can now save the underlying json doc as a string field and better support added to the default example. (Noble Paul)
  • SOLR-6650: Add optional slow request logging at WARN level. (Jessica Cheng Mallet via Timothy Potter)
  • SOLR-6655: SimplePostTool now features -Dhost, -Dport, and -Dc (for core/collection) properties to allow easier overriding of just the right piece of the Solr URL. (ehatcher)
  • SOLR-6248: MoreLikeThis QParser that accepts a document id and returns documents that have similar content. It works in standalone/cloud mode and shares logic with the Lucene MoreLikeThis class. (Anshum Gupta).
  • SOLR-6670: change BALANCESLICEUNIQUE to BALANCESHARDUNIQUE. Also, the parameter for ADDREPLICAPROP that used to be sliceUnique is now shardUnique. (Erick Erickson)
  • SOLR-6351: Stats can now be nested under pivot values by adding a 'stats' local param to facet.pivot which refers to a 'tag' local param in one or more stats.field params. (hossman, Vitaliy Zhovtyuk, Steve Molloy)
  • SOLR-6533: Support editing common solrconfig.xml values. (Noble Paul)
  • SOLR-6607: Managing requesthandlers through API. (Noble Paul)
  • SOLR-4799: faster join using join="zipper" aka merge join for nested DIH EntityProcessors. (Mikhail Khludnev via Noble Paul)
  • SOLR-6787: API to manage blobs in Solr. (Noble Paul)
  • SOLR-6801: Load RequestHandler from blob store. (Noble Paul)
  • SOLR-1632: Support Distributed IDF. (Andrzej Bialecki, Mark Miller, Yonik Seeley, Robert Muir, Markus Jelsma, Vitaliy Zhovtyuk, Anshum Gupta)
  • SOLR-6729: createNodeSet.shuffle=(true|false) support for /admin/collections?action=CREATE. (Christine Poerschke, Ramkumar Aiyengar via Mark Miller)
  • SOLR-6879: Have an option to disable autoAddReplicas temporarily for all collections. (Varun Thacker via Steve Rowe)
  • SOLR-6851: Scripts to support installing and running Solr as a service on Linux. (Timothy Potter, Hossman, Steve Rowe)
  • SOLR-6770: Add/edit param sets and use them in Requests. (Noble Paul)
  • SOLR-6435: Add bin/post script to simplify posting content to Solr. (Erik Hatcher)
  • SOLR-6761: Ability to ignore commit and/or optimize requests from clients when running in SolrCloud mode using the IgnoreCommitOptimizeUpdateProcessorFactory. (Timothy Potter)
  • SOLR-6797: Spatial fields that used to require units=degrees like SpatialRecursivePrefixTreeFieldType (RPT) now take distanceUnits=degrees|kilometers|miles instead. It is applied to nearly all distance measurements involving the field: maxDistErr, distErr, d, geodist, score=distance|area|area2d. score now accepts these units as well. It does NOT affect distances embedded in WKT strings like BUFFER(POINT(200 10),0.2)). (Ishan Chattopadhyaya, David Smiley)
  • SOLR-6766: Expose HdfsDirectoryFactory Block Cache statistics via JMX. (Mike Drob, Mark Miller)
  • SOLR-2035: Add a VelocityResponseWriter $resource tool for locale-specific string lookups. (Erik Hatcher)
  • SOLR-6916: Toggle payload support for the default highlighter via hl.payloads. It's auto enabled when the index has payloads. (David Smiley)
  • SOLR-6581: Efficient DocValues support and numeric collapse field implementations for Collapse and Expand. (Joel Bernstein)
  • SOLR-6937: In schemaless mode ,replace spaces and special characters with underscore. (Noble Paul)
  • BUG FIXES:
  • SOLR-4895: An error should be returned when a rollback is attempted in SolrCloud mode. (Vamsee Yarlagadda via Mark Miller)
  • SOLR-6424: The hdfs block cache BLOCKCACHE_WRITE_ENABLED is not defaulting to false like it should. (Mark Miller)
  • SOLR-6426: SolrZkClient clean can fail due to a race with children nodes. (Mark Miller)
  • SOLR-5966: Admin UI Menu is fixed and doesn't respect smaller viewports. (Aman Tandon, steffkes via shalin)
  • SOLR-4406: Fix RawResponseWriter to respect 'base' writer. (Steve Davids, hossman)
  • SOLR-6297: Fix WordBreakSolrSpellChecker to not lose suggestions in shard/cloud environments. (James Dyer)
  • SOLR-6467: bin/solr script should direct stdout/stderr when starting in the background to the solr-PORT-console.log in the logs directory instead of bin. (Timothy Potter)
  • SOLR-6187: SOLR-6154: facet.mincount ignored in range faceting using distributed search NOTE: This does NOT fixed for the (deprecated) facet.date idiom, use facet.range instead. (Erick Erickson, Zaccheo Bagnati, Ronald Matamoros, Vamsee Yalargadda)
  • SOLR-6457: LBHttpSolrClient: ArrayIndexOutOfBoundsException risk if counter overflows. (longkey via Noble Paul)
  • SOLR-6499: Log warning about multiple update request handlers. (Noble Paul, Andreas Hubold, hossman)
  • SOLR-6507: Fixed several bugs involving stats.field used with local params. (hossman)
  • SOLR-6481: CLUSTERSTATUS should check if the node hosting a replica is live when reporting replica status. (Timothy Potter)
  • SOLR-6484: SolrCLI's healthcheck action needs to check live nodes as part of reporting the status of a replica. (Timothy Potter)
  • SOLR-6540 Fix NPE from strdist() func when doc value source does not exist in a doc. (hossman)
  • SOLR-6624 Spelling mistakes in the Java source. (Hrishikesh Gadre)
  • SOLR-6307: Atomic update remove does not work for int array or date array. (Anurag Sharma , noble)
  • SOLR-6224: Post soft-commit callbacks are called before soft commit actually happens. (shalin)
  • SOLR-6591: Overseer can use stale cluster state and lose updates for collections with stateFormat > 1. (shalin)
  • SOLR-6631: DistributedQueue spinning on calling zookeeper getChildren(). (Jessica Cheng Mallet, Mark Miller, Timothy Potter)
  • SOLR-6579:SnapPuller Replication blocks clean shutdown of tomcat. (Philip Black-Knight via Noble Paul)
  • SOLR-6721: ZkController.ensureReplicaInLeaderInitiatedRecovery puts replica in local map before writing to ZK. (shalin)
  • SOLR-6679: Disabled suggester component from techproduct solrconfig.xml since it caused long startup times on large indexes even when it wasn't used. (yonik, hossman)
  • SOLR-6738: Admin UI - Escape Data on Plugins-View. (steffkes)
  • SOLR-3774: Solr adds RequestHandler SolrInfoMBeans twice to the JMX server. (Tomás Fernández Löbbe, hossman, Mark Miller)
  • SOLR-6763: Shard leader elections should not persist across session expiry. (Alan Woodward, Mark Miller)
  • SOLR-3881: Avoid OOMs in LanguageIdentifierUpdateProcessor. (Vitaliy Zhovtyuk, Tomás Fernández Löbbe, Rob Tulloh, Steve Rowe)
  • SOLR-6626: NPE in FieldMutatingUpdateProcessor when indexing a doc with null field value. (Noble Paul)
  • SOLR-6604: SOLR-6812: Fix NPE with distrib.singlePass=true and expand component. Increased test coverage of expand component with docValues. (Christine Poerschke, Per Steffensen, shalin)
  • SOLR-6718: Core discovery was walking paths relative to the Jetty working directory, rather than SOLR_HOME. (Andreas Hubold, Alan Woodward)
  • SOLR-6864: Support registering searcher listeners in SolrCoreAware.inform(SolrCore) method. Existing components rely on this. (Tomás Fernández Löbbe)
  • SOLR-6850: AutoAddReplicas makes a call to wait to see live replicas that times out after 30 milliseconds instead of 30 seconds. (Varun Thacker via Mark Miller)
  • SOLR-6873: Lib relative path is incorrect for techproduct configset. (Alexandre Rafalovitch via Erick Erickson)
  • SOLR-6397: zkcli script put/putfile should allow overwriting an existing znode's data. (Timothy Potter)
  • SOLR-6899: Change public setter for CollectionAdminRequest.action to protected. (Anshum Gupta)
  • SOLR-6779: fix /browse for schemaless example. (ehatcher)
  • SOLR-6874: There is a race around SocketProxy binding to it's port the way we setup JettySolrRunner and SocketProxy. (Mark Miller, Timothy Potter)
  • SOLR-6735: Make CloneFieldUpdateProcessorFactory null safe. (Steve Davids via ehatcher)
  • SOLR-6907: URLEncode documents directory in MorphlineMapperTest to handle spaces etc. in file name. (Ramkumar Aiyengar via Erick Erickson)
  • SOLR-6880: Harden ZkStateReader to expect that getCollectionLive may return null as it's contract states. (Mark Miller, shalin)
  • SOLR-6643: Fix error reporting & logging of low level JVM Errors that occur when loading/reloading a SolrCore. (hossman)
  • SOLR-6839: Direct routing with CloudSolrServer will ignore the Overwrite document option. (Mark Miller)
  • SOLR-6793: ReplicationHandler does not destroy all of it's created SnapPullers. (Mark Miller)
  • SOLR-6946: Document -p port option for the create_core and create_collection actions in bin/solr. (Timothy Potter)
  • SOLR-6923: AutoAddReplicas also consults live_nodes to see if a state change has happened. (Varun Thacker via Anshum Gupta)
  • SOLR-6941: DistributedQueue#containsTaskWithRequestId can fail with NPE. (Mark Miller)
  • SOLR-6764: Field types need to be re-informed after reloading a managed schema from ZK. (Timothy Potter)
  • SOLR-6931: We should do a limited retry when using HttpClient. (Mark Miller, Hrishikesh Gadre, Gregory Chanan)
  • SOLR-7004: Add a missing constructor for CollectionAdminRequest.BalanceShardUnique that sets the collection action. (Anshum Gupta)
  • SOLR-6993: install_solr_service.sh won't install on RHEL / CentOS. (David Anderson via Timothy Potter)
  • SOLR-6928: solr.cmd stop works only in english. (john.work, Jan Høydahl, Timothy Potter)
  • SOLR-7011: Delete collection returns before collection is actually removed. (Christine Poerschke via shalin)
  • SOLR-6640: Close searchers before rollback and recovery to avoid index corruption. (Robert Muir, Varun Thacker, shalin)
  • SOLR-6847: LeaderInitiatedRecoveryThread compares wrong replica's state with lirState. (shalin)
  • SOLR-6856: Restore ExtractingRequestHandler's ability to capture all HTML tags when parsing (X)HTML. (hossman, Uwe Schindler, ehatcher, Steve Rowe)
  • SOLR-7024: Improved error messages when java is not found by the bin/solr shell script, particularly when JAVA_HOME has an invalid location. (Shawn Heisey)
  • SOLR-7038: Validate the presence of configset before trying to create a collection. (Anshum Gupta, Mark Miller)
  • SOLR-7037: bin/solr start -e techproducts -c fails to start Solr in cloud mode. (Timothy Potter)
  • SOLR-7016: Fix bin\solr.cmd to work in a directory with spaces in the name. (Timothy Potter, Uwe Schindler)
  • SOLR-6969: When opening an HDFSTransactionLog for append we must first attempt to recover it's lease to prevent data loss. (Mark Miller, Praneeth Varma, Colin McCabe)
  • SOLR-7067: bin/solr won't run under bash 4.2+. (Steve Rowe)
  • SOLR-7068: Collapse on numeric field breaks when min/max values are negative. (Joel Bernstein)
  • SOLR-6780: Fixed a bug in how default/appends/invariants params were affecting the set of all "keys" found in the request parameters, resulting in some key=value param pairs being duplicated. This was noticeably affecting some areas of the code where iteration was done over the set of all params:
  • literal.* in ExtractingRequestHandler
  • facet.* in FacetComponent
  • spellcheck.[dictionary name].* and spellcheck.collateParam.* in SpellCheckComponent
  • olap.* in AnalyticsComponent. (Alexandre Rafalovitch & hossman)
  • SOLR-6920: A replicated index can end up corrupted when small files end up with the same file name and size. (Varun Thacker, Mark Miller)
  • SOLR-7033, SOLR-5961: RecoveryStrategy should not publish any state when closed / cancelled and there should always be a pause between recoveries even when recoveries are rapidly stopped and started as well as when a node attempts to become the leader for a shard. (Mark Miller, Maxim Novikov)
  • SOLR-6693: bin\solr.cmd doesn't support 32-bit JRE/JDK running on Windows due to parenthesis in JAVA_HOME. (Timothy Potter, Christopher Hewitt, Jan Høydahl)
  • OPTIMIZATIONS:
  • SOLR-6603: LBHttpSolrClient - lazily allocate skipped-zombie-servers list. (Christine Poerschke via shalin)
  • SOLR-6554: Speed up overseer operations avoiding cluster state reads from zookeeper at the start of each loop and instead relying on local state and compare-and-set writes. This change also adds batching for consecutive messages belonging to the same collection with stateFormat=2. (shalin)
  • SOLR-6680: DefaultSolrHighlighter can sometimes avoid CachingTokenFilter with hl.usePhraseHighlighter, and can be more efficient handling data from term vectors. (David Smiley)
  • SOLR-6666: Dynamic copy fields are considering all dynamic fields, causing a significant performance impact on indexing documents. (Liram Vardi via Erick Erickson, Steve Rowe)
  • OTHER CHANGES:
  • SOLR-4622: Hardcoded SolrCloud defaults for hostContext and hostPort that were deprecated in 4.3 have been removed completely. (hossman)
  • SOLR-5936: Removed deprecated non-Trie-based numeric & date field types. (Steve Rowe)
  • SOLR-6169: Finish removal of CoreAdminHandler handleAlias action begun in 4.9. (Alan Woodward)
  • SOLR-6215: TrieDateField should directly extend TrieField instead of forwarding to a wrapped TrieField. (Steve Rowe)
  • SOLR-3029: Changes to spellcheck response format. (Nalini Kartha via James Dyer)
  • SOLR-3957: Removed RequestHandlerUtils#addExperimentalFormatWarning(), which removes "experimental" warning from two places: replication handler details command and DataImportHandler responses. (ehatcher)
  • SOLR-6073: Remove helper methods from CollectionsRequest (SolrJ) for CollectionsAPI calls and move to a builder design for the same. (Varun Thacker, Anshum Gupta)
  • SOLR-6519: Make DirectoryFactory#create() take LockFactory. (Uwe Schindler)
  • SOLR-6400: SolrCloud tests are not properly testing session expiration. (Mark Miller)
  • LUCENE-5650: Tests can no longer write to CWD. Update log dir is now made relative to the instance dir if it is not an absolute path. (Ryan Ernst, Dawid Weiss)
  • SOLR-6390: Remove unnecessary checked exception for CloudSolrClient constructors, improve javadocs for CloudSolrClient constructors. (Steve Davids via Shawn Heisey)
  • LUCENE-5901: Replaced all occurrences of LUCENE_CURRENT with LATEST for luceneMatchVersion. (Ryan Ernst)
  • SOLR-6445: Upgrade Noggit to version 0.6 to support more flexible JSON input. (Noble Paul, Yonik Seeley)
  • SOLR-6073: Remove helper methods from CollectionsRequest (SolrJ) for CollectionsAPI calls and move to a builder design for the same. (Varun Thacker, Anshum Gupta)
  • SOLR-5322: core discovery can fail w/NPE and no explanation if a non-readable directory exists. (Said Chavkin, Erick Erickson)
  • SOLR-6488, SOLR-6991: Update to Apache Tika 1.7. This adds support for parsing Outlook PST and Matlab MAT files. Parsing for NetCDF files was removed because of license issues; if you need support for this format, download the parser JAR yourself and add it to contrib/extraction/lib folder: http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/. (Uwe Schindler)
  • SOLR-6115: Cleanup enum/string action types in Overseer, OverseerCollectionProcessor and CollectionHandler. (Erick Erickson, shalin)
  • SOLR-6453: Stop throwing an error message from Overseer when node exits. (Ramkumar Aiyengar, Noble Paul)
  • SOLR-6550: Provide simple mechanism for passing additional metadata / context about a server-side SolrException back to the client-side. (Timothy Potter)
  • SOLR-6249: Schema API changes return success before all cores are updated; client application can provide the optional updateTimeoutSecs parameter to cause the server handling the managed schema update to block until all replicas of the same collection have processed the update or until the specified timeout is reached. (Timothy Potter)
  • SOLR-6597: SolrIndexConfig parameter in one of the SolrIndexSearcher constructor has been removed. It was just passed and never used via that constructor. (Anshum Gupta)
  • SOLR-5852: Add CloudSolrClient helper method to connect to a ZK ensemble. (Varun Thacker, Furkan KAMACI, Shawn Heisey, Mark Miller, Erick Erickson via shalin)
  • SOLR-6592: Avoid waiting for the leader to see the down state if that leader is not live. (Timothy Potter)
  • SOLR-6641: SystemInfoHandler should include the zkHost the node is using (when running in solrcloud mode). (Timothy Potter)
  • SOLR-6295: Fix child filter query creation to never match parent docs in SolrExampleTests. (Varun Thacker, Mikhail Khludnev via shalin)
  • SOLR-6578: Update commons-io dependency to the latest 2.4 version. (Steve Rowe, Shawn Heisey)
  • SOLR-6651: Fix wrong timeout logged in waitForReplicasToComeUp. (shalin)
  • SOLR-6698: Solr is not consistent wrt ZkCredentialsProvider / ZkCredentialProvider. References to zkCredentialProvider in System properties or configurations should be changed to zkCredentialsProvider. (Gregory Chanan)
  • SOLR-6715: ZkSolrResourceLoader constructors accept a parameter called 'collection' but it should be 'configName'. (shalin)
  • SOLR-6697: bin/solr start scripts allow setting SOLR_OPTS in solr.in.*. (janhoy)
  • SOLR-6739: Admin UI - Sort list of command line args. (steffkes)
  • SOLR-6740: Admin UI - improve Files View. (steffkes)
  • SOLR-6570: Run SolrZkClient session watch asynchronously. (Ramkumar Aiyengar via Mark Miller)
  • SOLR-6747: Add an optional caching option as a workaround for SOLR-6586. (Mark Miller, Gregory Chanan)
  • SOLR-6459: Normalize logging of operations in Overseer and log current queue size. (Ramkumar Aiyengar, shalin via Mark Miller)
  • SOLR-6754: ZkController.publish doesn't use the updateLastState parameter. (shalin)
  • SOLR-6751: Exceptions thrown in the analysis chain in DirectUpdateHandler2 should return a BAD_REQUEST status. (Alan Woodward)
  • SOLR-SOLR-6792 : deprecate AdminHandlers, Clean up solrconfig.xml of unnecessary plugin definitions, implicit registration of /replication, /get and /admin/* handlers. (Noble Paul)
  • SOLR-4792: Stop shipping a .war. (Robert Muir, Ramkumar Aiyengar, Mark Miller)
  • SOLR-6799: Update Saxon-HE to 9.6.0-2. (Mark Miller)
  • SOLR-6454: Suppress EOFExceptions in SolrDispatchFilter. (Ramkumar Aiyengar via Mark Miller)
  • SOLR-6370: Allow tests to report/fail on many ZK watches being parallelly requested on the same data. (Ramkumar Aiyengar via Timothy Potter)
  • SOLR-6752: Buffer Cache allocate/lost metrics should be exposed. (Mike Drob via Mark Miller)
  • SOLR-6560: Purge termIndexInterval from example/test configs. (Tom Burton-West, hossman)
  • SOLR-6773: Remove the multicore example as the DIH and cloud examples illustrate multicore behavior. (hossman, Timothy Potter)
  • SOLR-6834: Warn if checkIntegrityAtMerge is configured. This option is no longer meaningful since the checks are done automatically at a very low level in the segment merging. This warning will become an error in Solr 6.0. (hossman)
  • SOLR-6833: Examples started with bin/solr -e should use a solr.solr.home directory under the example directory instead of server/solr. (Alexandre Rafalovitch, Anshum Gupta, hossman, Timothy Potter)
  • SOLR-6826: fieldType capitalization is not consistent with the rest of case-sensitive field names. (Alexandre Rafalovitch via Erick Erickson)
  • SOLR-6849: HttpSolrClient.RemoteSolrException reports the URL of the remote host where the exception occurred. (Alan Woodward)
  • SOLR-6852: SimplePostTool no longer defaults to collection1 making core/collection/update URL mandatory. (Anshum Gupta)
  • SOLR-6861: post.sh from exampledocs directory has been removed as there no longer is a default update URL. (Anshum Gupta)
  • SOLR-5922: Add support for adding core properties to SolrJ Collection Admin Request calls. (Varun Thacker via Anshum Gupta).
  • SOLR-6523: Provide SolrJ support for specifying stateFormat while creating Collections. (Anshum Gupta)
  • SOLR-6881: Add split.key support for SPLITSHARD via SolrJ. (Anshum Gupta)
  • SOLR-6883: CLUSTERPROP API switch case does not call break. (Varun Thacker via shalin)
  • SOLR-6882: Misspelled collection API actions in ReplicaMutator exception messages. (Steve Rowe via shalin)
  • SOLR-6867: SolrCLI should check for existence before creating a new core/collection, more user-friendly error reporting (no stack trace), and the ability to pass a directory when using bin/solr to create a core or collection. (Timothy Potter)
  • SOLR-6855: bin/solr -e dih launches, but has some path cruft issues preventing some of the imports don't work. (Hossman, Timothy Potter)
  • SOLR-3711: Truncate long strings in /browse field facets. (ehatcher)
  • SOLR-6876: Remove unused legacy scripts.conf. (Alexandre Rafalovitch via Erick Erickson)
  • SOLR-6896: Speed up tests by dropping SolrJettyRunner thread max idle time. (Alan Woodward)
  • SOLR-6448: Add SolrJ support for all current Collection API calls. (Anshum Gupta)
  • Fixed a typo in various solrconfig.xml files. (sdumitriu - pull request #120)
  • SOLR-6895: SolrServer classes are renamed to *SolrClient. The existing classes still exist, but are deprecated. (Alan Woodward, Erik Hatcher)
  • SOLR-6483: Refactor some methods in MiniSolrCloudCluster tests. (Steve Davids via Erick Erickson)
  • SOLR-6906: Fix typo bug in DistributedDebugComponentTest.testCompareWithNonDistributedRequest. (Ramkumar Aiyengar via Erick Erickson)
  • SOLR-6905: Test pseudo-field retrieval in distributed search. (Ramkumar Aiyengar via shalin)
  • SOLR-6897: Nuke non-NRT mode from code and configuration. (Hossman, shalin)
  • SOLR-6830: Update Woodstox to 4.4.1 and StAX to 3.1.4. (ab)
  • SOLR-6918: No need to log exceptions (as warn) generated when creating MBean stats if the core is shutting down. (Timothy Potter)
  • SOLR-6932: All HttpClient ConnectionManagers and SolrJ clients should always be shutdown in tests and regular code. (Mark Miller)
  • SOLR-1723: VelocityResponseWriter improvements. (Erik Hatcher)
  • SOLR-6324: Set finite default timeouts for select and update. (Ramkumar Aiyengar via Mark Miller)
  • SOLR-6952: bin/solr create action should copy configset directory instead of reusing an existing configset in ZooKeeper by default. (Timothy Potter)
  • SOLR-6933: bin/solr should provide a single "create" action that creates a core or collection depending on whether Solr is running in standalone or cloud mode. (Timothy Potter)
  • SOLR-6496: LBHttpSolrClient stops server retries after the timeAllowed threshold is met. (Steve Davids, Anshum Gupta)
  • SOLR-6904: Removed deprecated Circle & rect syntax. See upgrading notes. (David Smiley)
  • SOLR-6943: HdfsDirectoryFactory should fall back to system props for most of it's config if it is not found in solrconfig.xml. (Mark Miller, Mike Drob)
  • SOLR-6926: "ant example" makes no sense anymore - should be "ant server". (Ramkumar Aiyengar, Timothy Potter)
  • SOLR-6982: bin/solr and SolrCLI should support SSL-related Java System Properties. (Timothy Potter)
  • SOLR-6981: Add a delete action to the bin/solr script to allow deleting of cores / collections (with delete collection config directory from ZK). (Timothy Potter)
  • SOLR-6840: Remove support for old-style solr.xml. (Erick Erickson, Alan Woodward)
  • SOLR-6976: Remove classes and methods deprecated in 4.x. (Alan Woodward, Noble Paul, Chris Hostetter)
  • SOLR-6521: CloudSolrClient should synchronize cache cluster state loading. ( Noble Paul, Jessica Cheng Mallet)
  • SOLR-7018: bin/solr stop should stop if there is only one node running or generate an error message prompting the user to be explicit about which of multiple nodes to stop using the -p or -all options. (Timothy Potter)
  • SOLR-5918: ant clean does not remove ZooKeeper data. (Varun Thacker, Steve Rowe)
  • SOLR-7020: 'bin/solr start' should automatically use an SSL-enabled alternate jetty configuration file when in SSL mode, eliminating the need for manual jetty.xml edits. (Steve Rowe)
  • SOLR-6227: Avoid spurious failures of ChaosMonkeySafeLeaderTest by ensuring there's at least one jetty to kill. (shalin)

New in version 4.10.3 (December 24th, 2014)

  • Bug Fixes:
  • SOLR-6696: bin/solr start script should not enable autoSoftCommit by default
  • SOLR-6704: TrieDateField type drops schema properties in branch 4.10
  • SOLR-6679: Remove suggester component from stock solrconfig.xml since it caused long startup times on lage indexes even when it wasn't used.
  • SOLR-6662: better validation when parsing command-line options that expect a value
  • SOLR-6705: Better strategy for dealing with JVM specific options in the start scripts; remove -XX:+AggressiveOpts and only set -XX:-UseSuperWord for Java 1.7u40 to u51.
  • SOLR-6738: Admin UI - Escape Data on Plugins-View
  • SOLR-6085: Suggester crashes when prefixToken is longer than surface form
  • SOLR-6323: ReRankingQParserPlugin cleaner paging and fix bug with fuzzy, range and other queries that need to be re-written.
  • SOLR-6684: Fix-up /export JSON.
  • SOLR-6732: Fix handling of leader-initiated recovery state was String in older versions and is now a JSON map, caused backwards compatibility issues when doing rolling upgrades of a live cluster while indexing
  • SOLR-6781: BBoxField didn't support dynamic fields.
  • SOLR-6784: BBoxField's 'score' mode should have been optional.
  • SOLR-6510: The collapse QParser would throw a NPE when used on a DocValues field on an empty segment/index.
  • SOLR-2927: Solr does not unregister all mbeans upon exception in constructor causing memory leaks.
  • SOLR-6685: ConcurrentModificationException in Overseer Status API.
  • SOLR-6706: /update/json/docs throws RuntimeException if a nested structure contains a non-leaf float field
  • SOLR-6610: Slow startup of new clusters because ZkController.publishAndWaitForDownStates always times out.
  • SOLR-6726: better strategy for selecting the JMX RMI port based on SOLR_PORT in bin/solr script
  • SOLR-6795: distrib.singlePass returns score even though not asked for.
  • SOLR-6796: distrib.singlePass does not return correct set of fields for multi-fl-parameter requests.
  • SOLR-6776: Transaction log was not flushed at the end of update requests with softCommit specified, which could lead to data loss if the server were killed immediately after the update finished.
  • Other Changes:
  • SOLR-6661: Adjust all example configurations to allow overriding error-prone relative paths for solrconfig.xml references with solr.install.dir system property; bin/solr scripts will set it appropriately.
  • SOLR-5864: SolrCore.reload(ConfigSet coreConfig, SolrCore prev) deprecated. Use SolrCore.reload(ConfigSet coreConfig) instead.
  • SOLR-6694: Auto-detect JAVA_HOME using the Windows registry if it is not set
  • SOLR-6653: bin/solr script should return error code >0 when something fails
  • SOLR-6829: Added getter/setter for lastException in DIH's ContextImpl

New in version 4.10.1 (September 29th, 2014)

  • Bug Fixes:
  • SOLR-6425: If using the new global hdfs block cache option, you can end up reading corrupt files on file name reuse.
  • SOLR-5814: CoreContainer reports incorrect & missleading path for solrconfig.xml when there are loading problems
  • SOLR-6024: Fix StatsComponent when using docValues="true" multiValued="true"
  • SOLR-6493: Fix fq exclusion via "ex" local param in multivalued stats.field
  • SOLR-6447: bin/solr script needs to pass -DnumShards=1 for boostrapping collection1 when starting Solr in cloud mode.
  • SOLR-6501: Binary Response Writer does not return wildcard fields.
  • Other Changes:
  • SOLR-6503: Removed support for parsing netcdf files in Solr Cell because of license issues. If you need support for this format, download the parser JAR yourself (version 4.2) and add it to contrib/extraction/lib folder: http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/

New in version 4.10.0 (September 4th, 2014)

  • New Features:
  • SOLR-6196: The overseerstatus collection API instruments amILeader and ZK state update calls. (shalin)
  • SOLR-6069: The 'clusterstatus' API should return 'roles' information. (shalin)
  • SOLR-6044: The 'clusterstatus' API should return live_nodes as well. (shalin)
  • SOLR-5768: Add a distrib.singlePass parameter to make EXECUTE_QUERY phase fetch all fields and skip GET_FIELDS. (Gregg Donovan, shalin)
  • SOLR-6183: New spatial BBoxField for indexing rectangles with search support for most predicates. It includes extra score relevancy modes in addition to distance: score=overlapRatio|area|area2D. (David Smiley, Ryan McKinley)
  • SOLR-6232: You can now unload/delete cores that have failed to initialize. (Alan Woodward)
  • SOLR-6258: Added onRollback event handler hook to Data Import Handler (DIH). (ehatcher)
  • SOLR-6263: Add DIH handler name to variable resolver as ${dih.handlerName}. (ehatcher)
  • SOLR-6216: Better faceting for multiple intervals on DV fields. (Tomas Fernandez-Lobbe via Erick Erickson)
  • SOLR-6267: Let user override Interval Faceting key with LocalParams. (Tomas Fernandez_Lobbe via Erick Erickson)
  • SOLR-6020: Auto-generate a unique key in schema-less example if data does not have an id field. The UUIDUpdateProcessor was improved to not require a field name in configuration and generate a UUID into the unique Key field. (Vitaliy Zhovtyuk, hossman, Steve Rowe, Erik Hatcher, shalin)
  • SOLR-6294: SOLR-6437: Remove the restriction of adding json by only wrapping it in an array in a new path /update/json/docs.(Noble Paul , hossman, Yonik Seeley, Steve Rowe)
  • SOLR-6302: UpdateRequestHandlers are registered implicitly /update , /update/json, /update/csv , /update/json/docs. (Noble Paul)
  • SOLR-6318: New "terms" QParser for efficiently filtering documents by a list of values. For many values, it's more appropriate than a boolean query. (David Smiley)
  • SOLR-6283: Add support for Interval Faceting in SolrJ. (Tomás Fernández Löbbe)
  • SOLR-6304 : JsonLoader should be able to flatten an input JSON to multiple docs. (Noble Paul)
  • SOLR-2894: Distributed query support for facet.pivot. (Dan Cooper, Erik Hatcher, Chris Russell, Andrew Muldowney, Brett Lucey, Mark Miller, hossman)
  • SOLR-5656: Add autoAddReplicas feature for shared file systems. (Mark Miller, Gregory Chanan)
  • SOLR-5244: Exporting Full Sorted Result Sets. (Erik Hatcher, Joel Bernstein)
  • SOLR-3617: bin/solr and bin/solr.cmd scripts for starting, stopping, and running Solr examples. (Timothy Potter)
  • SOLR-6233: Provide basic command line tools for checking Solr status and health. (Timothy Potter)
  • SOLR-2245: Improvements to the MailEntityProcessor:
  • Support for server-side date filtering if using GMail; requires new dependency on the Sun Gmail Java mail extensions
  • Support for using the last_index_time from the previous run as the value for the fetchMailsSince filter. (Peter Sturge, Timothy Potter)
  • Bug Fixes:
  • SOLR-6095 : SolrCloud cluster can end up without an overseer with overseer roles (Noble Paul, Shalin Mangar)(Anand Sengamalai via shalin)
  • SOLR-6189: Avoid publishing the state as down if the node is not live when determining if a replica should be in leader-initiated recovery. (Timothy Potter)
  • SOLR-6197: The MIGRATE collection API doesn't work when legacyCloud=false is set in cluster properties. (shalin)
  • SOLR-6206: The migrate collection API fails on retry if temp collection already exists. (shalin)
  • SOLR-6072: The 'deletereplica' API should remove the data and instance directory by default. (shalin)
  • SOLR-6211: TrieDateField doesn't default to omitNorms=true. (Michael Ryan, Steve Rowe)
  • SOLR-6159: A ZooKeeper session expiry during setup can keep LeaderElector from joining elections. (Steven Bower, shalin)
  • SOLR-6223: SearchComponents may throw NPE when using shards.tolerant and there is a failure in the 'GET_FIELDS/GET_HIGHLIGHTS/GET_DEBUG' phase. (Tomás Fernández Löbbe via shalin)
  • SOLR-6180: Callers of ManagedIndexSchema mutators should hold the schemaUpdateLock. (Gregory Chanan via Steve Rowe)
  • SOLR-6229: Make SuggestComponent return 400 instead of 500 for bad dictionary selected in request. (Tomás Fernández Löbbe via shalin)
  • SOLR-6235: Leader initiated recovery should use coreNodeName instead of coreName to avoid marking all replicas having common core name as down. (shalin)
  • SOLR-6208: JettySolrRunner QueuedThreadPool's configuration code is never executed. (dweiss via shalin)
  • SOLR-6245: Socket and Connection configuration are ignored in HttpSolrServer when passing in HttpClient. (Patanachai Tangchaisin, shalin)
  • SOLR-6136: ConcurrentUpdateSolrServer includes a Spin Lock. (Brandon Chapman, Timothy Potter)
  • SOLR-6257: More than two "!"-s in a doc ID throws an ArrayIndexOutOfBoundsException when using the composite id router. (Steve Rowe)
  • SOLR-5746: Bugs in solr.xml parsing have been fixed to more correctly deal with the various datatypes of options people can specify, additional error handling of duplicated/unidentified options has also been added. (Maciej Zasada, hossman)
  • SOLR-5847: Fixed data import abort button in admin UI. (ehatcher)
  • SOLR-6264: Distributed commit and optimize are executed serially across all replicas. (Mark Miller, Timothy Potter)
  • SOLR-6163: Correctly decode special characters in managed stopwords and synonym endpoints. (Vitaliy Zhovtyuk, Timo Schmidt via Timothy Potter)
  • SOLR-6336: DistributedQueue can easily create too many ZooKeeper Watches. (Ramkumar Aiyengar via Mark Miller)
  • SOLR-6347: DELETEREPLICA throws a NPE while removing the last Replica in a Custom sharded collection. (Anshum Gupta)
  • SOLR-6062: Fix undesirable edismax query parser effect (introduced in SOLR-2058) in how phrase queries generated from pf, pf2, and pf3 are merged into the main query. (Michael Dodsworth via ehatcher)
  • SOLR-6372: HdfsDirectoryFactory should use supplied Configuration for communicating with secure kerberos. (Gregory Chanan via Mark Miller)
  • SOLR-6284: Fix NPE in OCP when non-existent sliceId is used for a deleteShard request
  • (Ramkumar Aiyengar via Anshum Gupta)
  • SOLR-6380: Added missing context info to log message if IOException occurs in processing tlog
  • (Steven Bower via hossman)
  • SOLR-6383: RegexTransformer returns no results after replaceAll if regex does not match a value. (Alexander Kingson, shalin)
  • SOLR-6387: Add better error messages throughout Solr and supply a work around for Java bug #8047340 to SystemInfoHandler: On Turkish default locale, some JVMs fail to fork on MacOSX, BSD, AIX, and Solaris platforms. (hossman, Uwe Schindler)
  • SOLR-6338: coreRootDirectory requires trailing slash, or SolrCloud cores are created in wrong location. (Primož Skale via Erick Erickson)
  • SOLR-6314: Facet counts duplicated in the response if specified more than once on the request. (Vamsee Yarlagadda, Erick Erickson)
  • SOLR-6378: Fixed example/example-DIH/ issues with "tika" and "solr" configurations, and tidied up README.txt
  • (Daniel Shchyokin via ehatcher)
  • SOLR-6393: TransactionLog replay performance on HDFS is very poor. (Mark Miller)
  • SOLR-6268: HdfsUpdateLog has a race condition that can expose a closed HDFS FileSystem instance and should close it's FileSystem instance if either inherited close method is called. (Mark Miller)
  • SOLR-6089: When using the HDFS block cache, when a file is deleted, it's underlying data entries in the block cache are not removed, which is a problem with the global block cache option. (Mark Miller, Patrick Hunt)
  • SOLR-6402: OverseerCollectionProcessor should not exit for ZooKeeper ConnectionLoss. (Jessica Cheng via Mark Miller)
  • SOLR-6405: ZooKeeper calls can easily not be retried enough on ConnectionLoss. (Jessica Cheng, Mark Miller)
  • SOLR-6410: Ensure all Lookup instances are closed via CloseHook. (hossman, Areek Zillur, Ryan Ernst, Dawid Weiss)
  • SOLR-6137: Schemaless concurrency improvements:
  • Fixed an NPE when reloading a managed schema with no dynamic copy fields
  • Moved parsing and schema fields addition to after the distributed phase
  • AddSchemaFieldsUpdateProcessor now uses a fixed schema rather than always retrieving the latest, and holds the schema update lock through the entire schema swap-out process. (Gregory Chanan via Steve Rowe)
  • Optimizations:
  • LUCENE-5803: Solr's schema now uses DelegatingAnalyzerWrapper. This uses less heap for cached TokenStreamComponents because it caches per FieldType not per Field, so indexes with many fields of same type just use one TokenStream per thread. (Shay Banon, Uwe Schindler, Robert Muir)
  • SOLR-6259: Reduce CPU usage by avoiding repeated costly calls to Document.getField inside DocumentBuilder.toDocument for use-cases with large number of fields and copyFields. (Steven Bower via shalin)
  • SOLR-5968: BinaryResponseWriter fetches unnecessary stored fields when only pseudo-fields are requested. (Gregg Donovan via shalin)
  • SOLR-6261: Run ZooKeeper watch event callbacks in parallel to the ZooKeeper event thread. (Ramkumar Aiyengar via Mark Miller)
  • Other Changes:
  • SOLR-6173: Fixed wrong failure message in TestDistributedSearch. (shalin)
  • SOLR-5902: Corecontainer level mbeans are not exposed. (noble)
  • SOLR-6194: Allow access to DataImporter and DIHConfiguration from DataImportHandler. (Aaron LaBella via shalin)
  • SOLR-6170: CoreContainer.preRegisterInZk() and CoreContainer.register() commands are merged into CoreContainer.create(). (Alan Woodward)
  • SOLR-6171: Remove unused SolrCores coreNameToOrig map. (Alan Woodward)
  • SOLR-5596: Set system property zookeeper.forceSync=no for Solr test cases. (shalin)
  • SOLR-2853: Add a unit test for the case when "spellcheck.maxCollationTries=0". (James Dyer)
  • SOLR-6240: Removed unused coreName parameter in ZkStateReader.getReplicaProps. (shalin)
  • SOLR-6241: Harden the HttpPartitionTest. (shalin)
  • SOLR-6228: Fixed bug in TestReplicationHandler.doTestIndexAndConfigReplication. (shalin)
  • SOLR-6120: On Windows, when the war is not extracted, the zkcli.bat script will print a helpful message indicating that the war must be unzipped instead of a java error about a missing class. (shalin, Shawn Heisey)
  • SOLR-6179: Better strategy for handling empty managed data to avoid spurious warning messages in the logs. (Timothy Potter)
  • SOLR-6232: CoreContainer.remove() replaced with CoreContainer.unload(). A call to unload will also close the core.
  • SOLR-3893: DIH should not depend on mail.jar,activation.jar (Timothy Potter, Steve Rowe)
  • SOLR-6252: A couple of small improvements to UnInvertedField class. (Vamsee Yarlagadda, Gregory Chanan, Mark Miller)
  • SOLR-3345: BaseDistributedSearchTestCase should always ignore QTime. (Vamsee Yarlagadda, Benson Margulies via Mark Miller)
  • SOLR-6270: Increased timeouts for MultiThreadedOCPTest. (shalin)
  • SOLR-6274: UpdateShardHandler should log the params used to configure it's HttpClient. (Ramkumar Aiyengar via Mark Miller)
  • SOLR-6194: Opened up "public" access to DataSource, DocBuilder, and EntityProcessorWrapper in DIH. (Aaron LaBella via ehatcher)
  • SOLR-6269: Renamed "rollback" to "error" in DIH internals, including renaming onRollback to onError introduced in SOLR-6258. (ehatcher)
  • SOLR-3622: When using DIH in SolrCloud-mode, rollback will no longer be called when an error occurs. (ehatcher)
  • SOLR-6231: Increased timeouts and hardened the RollingRestartTest. (Noble Paul, shalin)
  • SOLR-6290: Harden and speed up CollectionsAPIAsyncDistributedZkTest. (Mark Miller, shalin)
  • SOLR-6281: Made PostingsSolrHighlighter more configurable via subclass extension. (David Smiley)
  • SOLR-6309: Increase timeouts for AsyncMigrateRouteKeyTest. (shalin)
  • SOLR-2168: Added support for facet.missing in /browse field and pivot faceting. (ehatcher)
  • SOLR-4702: Added support for multiple spellcheck collations to /browse UI. (ehatcher)
  • SOLR-5664: Added support for multi-valued field highlighting in /browse UI. (ehatcher)
  • SOLR-6313: Improve SolrCloud cloud-dev scripts. (Mark Miller, Vamsee Yarlagadda)
  • SOLR-6360: Remove bogus "Content-Charset" header in HttpSolrServer. (Michael Ryan, Uwe Schindler)
  • SOLR-6362: Fix bug in TestSqlEntityProcessorDelta. (James Dyer)
  • SOLR-6388: Force upgrade of Apache POI dependency in Solr Cell to version 3.10.1 to fix CVE-2014-3529 and CVE-2014-3574. (Uwe Schindler)
  • SOLR-6391: Improve message for CREATECOLLECTION failure due to missing numShards. (Anshum Gupta)

New in version 4.9.0 (June 26th, 2014)

  • Versions of Major Components:
  • Apache Tika 1.5
  • Carrot2 3.9.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.6
  • New Features:
  • SOLR-5999: Add checkIntegrityAtMerge support to solrconfig.xml.
  • (Varun Thacker via Ryan Ernst)
  • SOLR-6043: Add ability to set http headers in solr response
  • (Tomás Fernández Löbbe via Ryan Ernst)
  • SOLR-5973: Pluggable Ranking Collectors and Merge Strategies
  • (Joel Bernstein)
  • SOLR-6108: Add support for 'addreplica' Collection API in SolrJ.
  • (shalin)
  • SOLR-5468: Allow a client application to request the minium achieved replication factor for an update request (single or batch) by sending an optional parameter "min_rf".
  • (Timothy Potter)
  • SOLR-6088: Add query re-ranking with the ReRankingQParserPlugin
  • (Joel Bernstein)
  • SOLR-5285: Added a new [child ...] DocTransformer for optionally including Block-Join decendent documents inline in the results of a search. This works independent of whether the search itself is a block-join related query and is supported by he xml, json, and javabin response formats.
  • (Varun Thacker via hossman)
  • SOLR-6150: Add new AnalyticsQuery to support pluggable analytics
  • (Joel Bernstein)
  • SOLR-6125: Allow SolrIndexWriter to close without waiting for merges
  • (Christine Poerschke via Alan Woodward)
  • SOLR-6064: DebugComponent track output should be returned as a JSON object rather than a list
  • (Christine Poerschke, Alan Woodward)
  • Bug Fixes:
  • SOLR-6002: Fix a couple of ugly issues around SolrIndexWriter close and rollback as well as how SolrIndexWriter manages it's ref counted directory instance.
  • (Mark Miller, Gregory Chanan)
  • SOLR-6015: Better way to handle managed synonyms when ignoreCase=true
  • (Timothy Potter)
  • SOLR-6104: The 'addreplica' Collection API does not support 'async' parameter.
  • (shalin)
  • SOLR-6101: Shard splitting doesn't work when legacyCloud=false is set in cluster properties.
  • (shalin)
  • SOLR-6111: The 'deleteshard' collection API should be able to delete a shard in 'construction' state.
  • (shalin)
  • SOLR-6118: 'expand.sort' didn't support function queries.
  • (David Smiley)
  • SOLR-6120: zkcli.sh should expand solr.war automatically instead of throwing ClassNotFoundException.
  • (sebastian badea, shalin)
  • SOLR-6149: Specifying the query value without any index value does not work in Analysis browser.
  • (Aman Tandon, shalin)
  • SOLR-6145: Fix Schema API optimistic concurrency by moving it out of ManagedIndexSchema.add(Copy)Fields() into the consumers of those methods: CopyFieldCollectionResource, FieldCollectionResource, FieldResource, and AddSchemaFieldsUpdateProcessorFactory.
  • (Gregory Chanan, Alexey Serba, Steve Rowe)
  • SOLR-6146: Incorrect configuration such as wrong chroot in zk server address can cause CloudSolrServer to leak resources.
  • (Jessica Cheng, Varun Thacker, shalin)
  • SOLR-6158: Relative configSetBase directories were resolved relative to the container CWD, rather than solr.home.
  • (Simon Endele, Alan Woodward)
  • SOLR-5426: Fixed a bug in ReverseWildCardFilter that could cause InvalidTokenOffsetsException when highlighting.
  • (Uwe Schindler, Arun Kumar, via hossman)
  • SOLR-6175: DebugComponent throws NPE on shard exceptions when using shards.tolerant.
  • (Tomás Fernández Löbbe via shalin)
  • SOLR-6129: DateFormatTransformer doesn't resolve dateTimeFormat.
  • (Aaron LaBella via shalin)
  • SOLR-6164: Copy Fields Schema additions are not distributed to other nodes.
  • (Gregory Chanan via Steve Rowe)
  • SOLR-6160: An error was sometimes possible if a distributed search included grouping with group.facet, faceting on facet.field and either facet.range or facet.query.
  • (David Smiley)
  • SOLR-6182: Data stored by the RestManager could not be reloaded after core restart, causing the core to fail to load; cast the data loaded from storage to the correct data type.
  • (Timothy Potter)
  • Other Changes:
  • SOLR-5980: AbstractFullDistribZkTestBase#compareResults always returns false for shouldFail.
  • (Mark Miller, Gregory Chanan)
  • SOLR-5987: Add "collection" to UpdateParams.
  • (Mark Miller, Greg Solovyev)
  • SOLR-3862: Add remove" as update option for atomically removing a value from a multivalued field
  • (Jim Musli, Steven Bower, Alaknantha via Erick Erickson)
  • SOLR-5974: Remove ShardDoc.score and use parent's ScoreDoc.score.
  • (Tomás Fernández Löbbe via Ryan Ernst)
  • SOLR-6025: Replace mentions of CommonsHttpSolrServer with HttpSolrServer and StreamingUpdateSolrServer with ConcurrentUpdateSolrServer.
  • (Ahmet Arslan via shalin)
  • SOLR-6013: Fix method visibility of Evaluator, refactor DateFormatEvaluator for extensibility.
  • (Aaron LaBella via shalin)
  • SOLR-6022: Deprecate getAnalyzer() in IndexField and FieldType, and add getIndexAnalyzer().
  • (Ryan Ernst)
  • SOLR-3671: Fix DIHWriter interface usage so users may implement writers that output documents to a location external to Solr (ex. a NoSql db).
  • (Roman Chyla via James Dyer)
  • SOLR-5340: Add support for named snapshots
  • (Varun Thacker via Noble Paul)
  • SOLR-5495: Recovery strategy for leader partitioned from replica case. Hardening recovery scenarios after the leader receives an error trying to forward an update request to a replica.
  • (Timothy Potter)
  • SOLR-6116: Refactor DocRouter.getDocRouter to accept routerName as a String.
  • (shalin)
  • SOLR-6026: REQUESTSTATUS Collection API now also checks for submitted tasks which are yet to begin execution.
  • SOLR-6067: Refactor duplicate Collector code in SolrIndexSearcher
  • (Christine Poerschke via hossman)
  • SOLR-5940: post.jar reports back detailed error in case of error responses.
  • (Sameer Maggon, shalin, Uwe Schindler)
  • SOLR-6161: SolrDispatchFilter should throw java.lang.Error back even if wrapped in another exception.
  • (Miklos Christine via shalin)
  • SOLR-6153: ReplicationHandler backup response format should contain backup name.
  • (Varun Thacker via shalin)
  • SOLR-6169: Remove broken handleAlias action in CoreAdminHandler
  • (Alan Woodward)
  • SOLR-6128: Removed deprecated analysis factories and fieldTypes from the example schema.xml
  • (hossman)
  • Optimizations:
  • SOLR-5681: Make the processing of Collection API calls multi-threaded.
  • (Anshum Gupta, shalin, Noble Paul)
  • Build:
  • SOLR-6006: Separate test and compile scope dependencies in the Solrj and Solr contrib ivy.xml files, so that the derived Maven dependencies get filled out properly in the corresponding POMs.
  • (Steven Scott, Steve Rowe)
  • SOLR-6130: Added com.uwyn:jhighlight dependency to, and removed asm:asm dependency from the extraction contrib - dependencies weren't fully upgraded with the Tika 1.4->1.5 upgrade (SOLR-5763).
  • (Steve Rowe)

New in version 4.8.1 (May 19th, 2014)

  • Bug Fixes:
  • SOLR-5904: ElectionContext can cancel an election when it should not if there was an exception while trying to register as the leader.
  • SOLR-5993: ZkController can warn about shard leader conflict even after the conflict is resolved.
  • SOLR-6017: Fix SimpleQParser to use query analyzer.
  • SOLR_6029: CollapsingQParserPlugin throws ArrayIndexOutOfBoundsException if elevated doc has been deleted from a segment.
  • SOLR-6030: Use System.nanoTime() instead of currentTimeInMills() in LRUCache.warm.
  • SOLR-6037: Fixed incorrect max/sum/stddev for Date fields in StatsComponent.
  • SOLR-6023: FieldAnalysisRequestHandler throws NPE if no parameters are supplied.
  • SOLR-5090: SpellCheckComponent sometimes throws NPE if "spellcheck.alternativeTermCount" is set to zero.
  • SOLR-6039: fixed debug output when no results in response.
  • SOLR-6035: CloudSolrServer directUpdate routing should use getCoreUrl.

New in version 4.8.0 (April 28th, 2014)

  • New Features:
  • SOLR-5130: Implement addReplica Collections API
  • SOLR-5183: JSON updates now support nested child documents using a "_childDocument_" object key.
  • SOLR-5714: You can now use one pool of memory for for the HDFS block cache that all collections share.
  • SOLR-5720: Add ExpandComponent to expand results collapsed by the CollapsingQParserPlugin.
  • SOLR-3177: Enable tagging and excluding filters in StatsComponent via the localParams syntax.
  • SOLR-1604: Wildcards, ORs etc inside Phrase Queries.
  • SOLR-5477: Async execution of OverseerCollectionProcessor(CollectionsAPI) tasks.
  • SOLR-5865: Provide a MiniSolrCloudCluster to enable easier testing.
  • SOLR-5860: Use leaderConflictResolveWait in WaitForState during recovery/startup, improve logging and force refresh cluster state every 15 seconds.
  • SOLR-5749: A new Overseer status collection API exposes overseer queue sizes, timing statistics, success and error counts and last N failures per operation.
  • SOLR-5858: Add a hl.qparser parameter to allow you to define a queryparser for hl.q highlight queries. If no queryparser is defined, Solr will use the overall query's defType.
  • SOLR-4478: Allow cores to use configuration from a configsets directory outside their instance directory.
  • SOLR-5466: A new List collections and cluster status API which clients can use to read collection and shard information instead of reading data directly from ZooKeeper.
  • (Dave Seltzer, Varun Thacker, Vitaliy Zhovtyuk, Erick Erickson, shalin)
  • SOLR-5795: New DocExpirationUpdateProcessorFactory supports computing an expiration date for documents from the "TTL" expression, as well as automatically deleting expired documents on a periodic basis.
  • SOLR-5829: Allow ExpandComponent to accept query and filter query parameters
  • SOLR-5653: Create a RestManager to provide REST API endpoints for reconfigurable plugins.
  • SOLR-5655: Create a stopword filter factory that is (re)configurable, and capable of reporting its configuration, via REST API.
  • SOLR-5654: Create a synonym filter factory that is (re)configurable, and capable of reporting its configuration, via REST API.
  • SOLR-5960: Add support for basic authentication in post.jar tool, e.g.: java -Durl="http://username:password@hostname:8983/solr/update" -jar post.jar sample.xml
  • SOLR-4864: RegexReplaceProcessorFactory should support pattern capture group substitution in replacement string.
  • Bug Fixes:
  • SOLR-5858, SOLR-4812: edismax and dismax query parsers can be used for parsing highlight queries.
  • SOLR-5893: On restarting overseer designate , move itself to front of the queue
  • SOLR-5915: Attempts to specify the parserImpl for solr.PreAnalyzedField fieldtype failed.
  • SOLR-5943: SolrCmdDistributor does not distribute the openSearcher parameter.
  • SOLR-5954: Slower DataImportHandler process caused by not reusing jdbc connections.
  • SOLR-5897: Upgraded to jQuery 1.7.2, Solr was previously using 1.4.3, the file was mistakenly named 1.7.2
  • Optimizations:
  • SOLR-1880: Distributed Search skips GET_FIELDS stage if EXECUTE_QUERY stage gets all fields. Requests with fl=id or fl=id,score are now single-pass.
  • SOLR-5783: Requests to open a new searcher will now reuse the current registered searcher (w/o additional warming) if possible in situations where the underlying index has not changed. This reduces overhead in situations such as deletes that do not modify the index, and/or redundant commits.
  • SOLR-5884: When recovery is cancelled, any call to the leader to wait to see the replica in the right state for recovery should be aborted.
  • Other Changes:
  • SOLR-5909: Upgrade Carrot2 clustering dependency to 3.9.0.
  • SOLR-5764: Fix recently added tests to not use absolute paths to load test-files, use SolrTestCaseJ4.getFile() and getResource() instead; fix morphlines/map-reduce to not duplicate test resources and fix dependencies among them.
  • SOLR-5765: Update to SLF4J 1.7.6.
  • SOLR-5609: If legacy mode is disabled don't let cores create slices/replicas/collections . All operations should be performed through collection API
  • SOLR-5613: Upgrade to commons-codec 1.9 for better BeiderMorseFilter performance.
  • SOLR-5771: Add SolrTestCaseJ4.SuppressSSL annotation to disable SSL (instead of static boolean).
  • SOLR-5799: When registering as the leader, if an existing ephemeral registration exists, wait a short time to see if it goes away.
  • LUCENE-5472: IndexWriter.addDocument will now throw an IllegalArgumentException if a Term to be indexed exceeds IndexWriter.MAX_TERM_LENGTH. To recreate previous behavior of silently ignoring these terms, use LengthFilter in your Analyzer.
  • SOLR-5825: Separate http request creating and execution in SolrJ
  • SOLR-5837: Add hashCode/equals to SolrDocument, SolrInputDocument and SolrInputField for testing purposes.
  • SOLR-5853: The createCollection methods in the test framework now reports result of operation in the returned CollectionAdminResponse
  • SOLR-5838: Relative SolrHome Path Bug At AbstractFullDistribZkTestBase.
  • SOLR-5763: Upgrade to Tika 1.5
  • SOLR-5881: Upgrade ZooKeeper to 3.4.6
  • SOLR-5883: Many tests do not shutdown SolrServer.
  • SOLR-5898: Update to latest Kite Morphlines release: Version 0.12.1.
  • SOLR-5228: Don't require or be inside of -- or that be inside of .
  • SOLR-5903: SolrCore implements Closeable, cut over to using try-with-resources where possible.
  • SOLR-5914: Cleanup and fix Solr's test cleanup code.
  • SOLR-5936: Deprecate non-Trie-based numeric & date field types.
  • SOLR-5934: LBHttpSolrServer exception handling improvement and small test improvements.
  • SOLR-5773: CollapsingQParserPlugin should make elevated documents the group head.
  • SOLR-5937: Modernize the DIH example config sets.

New in version 4.7.2 (April 15th, 2014)

  • Versions of Major Components:
  • Apache Tika 1.4
  • Carrot2 3.8.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.5
  • Bug Fixes:
  • SOLR-5951: Fixed SolrDispatchFilter to throw useful exception on startup if SLF4j logging jars are missing.
  • SOLR-5950: Maven config: make the org.slf4j:slf4j-api dependency transitive (i.e., not optional) in all modules in which it's a dependency, including solrj, except for the WAR, where it will remain optional.

New in version 4.7.1 (April 2nd, 2014)

  • Versions of Major Components:
  • Apache Tika 1.4
  • Carrot2 3.8.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.5
  • DETAILED CHANGE LIST:
  • Bug Fixes:
  • SOLR-5647: The lib paths in example-schemaless will now load correctly.
  • SOLR-5770: All attempts to match a SolrCore with it's state in clusterstate.json should be done with the CoreNodeName.
  • SOLR-5875: QueryComponent.mergeIds() unmarshals all docs' sort field values once per doc instead of once per shard.
  • SOLR-5800: Admin UI - Analysis form doesn't render results correctly when a CharFilter is used.
  • SOLR-5870: Admin UI - Reload on Core Admin doesn't show errors
  • SOLR-5867: OverseerCollectionProcessor isn't properly generating https urls in some cases.
  • SOLR-5866: UpdateShardHandler needs to use the system default scheme registry to properly handle https via javax.net.ssl.* properties.
  • SOLR-5782: The full MapReduceIndexer help text does not display when using --help.
  • SOLR-5824: Merge up Solr MapReduce contrib code to latest external changes. Includes a few minor bug fixes.
  • SOLR-5818: distrib search with custom comparator does not quite work correctly
  • SOLR-5895: JavaBinLoader hides IOExceptions.
  • SOLR-5861: Recovery should not set onlyIfLeaderActive=true for slice in 'recovery' state.
  • SOLR-5423: CSV output doesn't include function field
  • SOLR-5550: shards.info is not returned by a short circuited distributed query.
  • SOLR-5777: Fix ordering of field values in JSON updates where field name key is repeated
  • SOLR-5734: We should use System.nanoTime rather than System.currentTimeMillis when calculating elapsed time.
  • SOLR-5760: ConcurrentUpdateSolrServer has a blockUntilFinished call when streamDeletes is true that should be tucked into the if statement below it.
  • SOLR-5761: HttpSolrServer has a few fields that can be set via setters but are not volatile.
  • SOLR-5907: The hdfs write cache can cause a reader to see a corrupted state. It now defaults to off, and if you were using solr.hdfs.blockcache.write.enabled explicitly, you should set it to false.
  • SOLR-5811: The Overseer will retry work items until success, which is a serious problem if you hit a bad work item.
  • SOLR-5796: Increase how long we are willing to wait for a core to see the ZK advertised leader in it's local state.
  • SOLR-5834: Overseer threads are only being interrupted and not closed.
  • SOLR-5839: ZookeeperInfoServlet does not trim path properly.
  • SOLR-5874: Unsafe cast in CloudSolrServer's RouteException. Change RouteException to handle Throwable rather than Exception.
  • SOLR-5899: CloudSolrServer's RouteResponse and RouteException should be publicly accessible.
  • SOLR-5905: CollapsingQParserPlugin throws a NPE if required 'field' param is missing.
  • SOLR-5906: Collection create API ignores property.instanceDir parameter.
  • SOLR-5920: Distributed sort on DateField, BoolField and BCD{Int,Long,Str}Field returns string cast exception
  • Other Changes:
  • SOLR-5796: Make how long we are willing to wait for a core to see the ZK advertised leader in it's local state configurable.

New in version 4.7.0 (February 27th, 2014)

  • Versions of Major Components:
  • Apache Tika 1.4
  • Carrot2 3.8.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.5
  • New Features:
  • SOLR-5308: SOLR-5601: SOLR-5710: A new 'migrate' collection API to split all documents with a route key into another collection
  • SOLR-5441: Expose number of transaction log files and their size via JMX.
  • SOLR-5320: Added support for tri-level compositeId routing.
  • SOLR-5287,SOLR-5522,SOLR-5446,SOLR-5456,SOLR-5539,SOLR-5458: Admin UI - Added a new "Files" conf directory browser/file viewer.
  • SOLR-5447, SOLR-5490: Add a QParserPlugin for Lucene's SimpleQueryParser.
  • SOLR-5208: Support for the setting of core.properties key/values at create-time on Collections API
  • SOLR-5428: SOLR-5690: New 'stats.calcdistinct' parameter in StatsComponent returns set of distinct values and their count. This can also be specified per field e.g. 'f.field.stats.calcdistinct'.
  • SOLR-5378, SOLR-5528: A new SuggestComponent that fully utilizes the Lucene suggester module and adds pluggable dictionaries, payloads and better distributed support. This is intended to eventually replace the Suggester support through the SpellCheckComponent.
  • SOLR-5492: Return the replica that actually served the query in shards.info response.
  • SOLR-5506: Support docValues in CollationField and ICUCollationField.
  • SOLR-5023: Add support for deleteInstanceDir to be passed from SolrJ for Core Unload action.
  • SOLR-1871: The 'map' function query accepts a ValueSource as target and default value.
  • SOLR-5556: Allow class of CollectionsHandler and InfoHandler to be specified in solr.xml.
  • SOLR-5581: Give ZkCLI the ability to get files.
  • SOLR-5536: Add ValueSource collapse criteria to CollapsingQParsingPlugin
  • SOLR-5541: Allow QueryElevationComponent to accept elevateIds and excludeIds as http parameters
  • SOLR-5463: new 'cursorMark' request param for deep paging of sorted result sets
  • SOLR-5529: Add support for queries to use multiple suggesters.
  • SOLR-1301: Add a Solr contrib that allows for building Solr indexes via Hadoop's MapReduce.
  • SOLR-5631: Add support for Lucene's FreeTextSuggester.
  • SOLR-5695: Add support for Lucene's BlendedInfixSuggester.
  • SOLR-5476: Overseer Role for nodes
  • SOLR-5594: Allow FieldTypes to specify custom PrefixQuery behavior
  • LUCENE-5395: Upgrade to Spatial4j 0.4. Various new options are now exposed automatically for an RPT field type. See Spatial4j CHANGES & javadocs.
  • SOLR-5670: allow _version_ to use DocValues.
  • SOLR-5535: Set "partialResults" header for shards that error out if shards.tolerant is specified.
  • SOLR-5610: Support cluster-wide properties with an API called CLUSTERPROP
  • SOLR-5623: Better diagnosis of RuntimeExceptions in analysis
  • SOLR-5530: Added a NoOpResponseParser for SolrJ which puts the entire raw response into an entry in the NamedList.
  • SOLR-5682: Make the admin InfoHandler more pluggable / derivable.
  • SOLR-5672: Add logParamsList parameter to support reduced logging.
  • SOLR-3854: SSL support for SolrCloud.
  • Bug Fixes:
  • SOLR-5438: DebugComponent throws NPE when used with grouping.
  • SOLR-4612: Admin UI - Analysis Screen contains empty table-columns
  • SOLR-5451: SyncStrategy closes it's http connection manager before the executor that uses it in it's close method.
  • SOLR-5460: SolrDispatchFilter#sendError can get a SolrCore that it does not close.
  • SOLR-5461: Request proxying should only set con.setDoOutput(true) if the request is a post.
  • SOLR-5481: SolrCmdDistributor should not let the http client do it's own retries.
  • LUCENE-5347: Fixed Solr's Zookeeper Client to copy files to Zookeeper using binary transfer. Previously data was read with default encoding and stored in zookeeper as UTF-8. This bug was found after upgrading to forbidden-apis 1.4.
  • SOLR-4376: DataImportHandler uses wrong date format for last_index_time if a delta-import is run first before any full-imports.
  • SOLR-5494: CoreContainer#remove throws NPE rather than returning null when a SolrCore does not exist in core discovery mode.
  • SOLR-5354: Distributed sort is broken with CUSTOM FieldType.
  • SOLR-5515: NPE when getting stats on date field with empty result on SolrCloud.
  • SOLR-5204: StatsComponent and SpellCheckComponent do not support the shards.tolerant=true parameter.
  • SOLR-5527: DIH logs spurious warning for special commands.
  • SOLR-5524: Exception when using Query Function inside Scale Function.
  • SOLR-5562: ConcurrentUpdateSolrServer constructor ignores supplied httpclient.
  • SOLR-5567: ZkController getHostAddress duplicates url prefix.
  • SOLR-4992: Solr eats OutOfMemoryError exceptions in many cases.
  • LUCENE-5399, SOLR-5354 sort wouldn't work correctly with distributed searching for some field types such as legacy numeric types
  • SOLR-5643: ConcurrentUpdateSolrServer will sometimes not spawn a new Runner thread even though there are updates in the queue.
  • SOLR-5650: When a replica becomes a leader, only peer sync with other replicas that last published an ACTIVE state.
  • SOLR-5657: When a SolrCore starts on HDFS, it should gracefully handle HDFS being in safe mode.
  • SOLR-5663: example-DIH uses non-existing column for mapping (case-sensitive)
  • SOLR-5666: Using the hdfs write cache can result in appearance of corrupted index.
  • SOLR-5230: Call DelegatingCollector.finish() during grouping.
  • SOLR-5679: Shard splitting fails with ClassCastException on collections upgraded from 4.5 and earlier versions.
  • SOLR-5673: HTTPSolrServer doesn't set own property correctly in setFollowRedirects.
  • SOLR-5676: SolrCloud updates rejected if talking to secure ZooKeeper.
  • SOLR-5634: SolrJ GroupCommand.getNGroups returns null if group.format=simple and group.ngroups=true.
  • SOLR-5667: Performance problem when not using hdfs block cache.
  • SOLR-5526: Fixed NPE that could arrise when explicitly configuring some built in QParserPlugins
  • SOLR-5598: LanguageIdentifierUpdateProcessor ignores all but the first value of multiValued string fields.
  • SOLR-5593: Replicas should accept the last updates from a leader that has just lost it's connection to ZooKeeper.
  • SOLR-5678: SolrZkClient should throw a SolrException when connect times out rather than a RuntimeException.
  • SOLR-4072: Error message is incorrect for linkconfig in ZkCLI.
  • SOLR-5691: Sharing non thread safe WeakHashMap across thread can cause problems.
  • SOLR-5693: Running on HDFS does work correctly with NRT search.
  • SOLR-5644: SplitShard does not handle not finding a shard leader well.
  • SOLR-5704: coreRootDirectory was not respected when creating new cores via CoreAdminHandler
  • SOLR-5709: Highlighting grouped duplicate docs from different shards with group.limit > 1 throws ArrayIndexOutOfBoundsException.
  • SOLR-5561: Fix implicit DefaultSimilarityFactory initialization in IndexSchema to properly specify discountOverlap option.
  • SOLR-5689: On reconnect, ZkController cancels election on first context rather than latest.
  • SOLR-5649: Clean up some minor ConnectionManager issues.
  • SOLR-5365: Fix bug with compressed files in ExtractingRequestHandler by upgrading commons-compress to 1.7
  • SOLR-5675: cloud-scripts/zkcli.bat: quote option log4j
  • SOLR-5721: ConnectionManager can become stuck in likeExpired.
  • SOLR-5731: In ConnectionManager, we should catch and only log exceptions from BeforeReconnect.
  • SOLR-5718: Make LBHttpSolrServer zombie checks non-distrib and non-scoring.
  • SOLR-5727: LBHttpSolrServer should only retry on Connection exceptions when sending updates. Affects CloudSolrServer.
  • SOLR-5739: Sub-shards created by shard splitting have their update log set to buffering mode on restarts.
  • SOLR-5741: UpdateShardHandler was not correctly setting max total connections on the HttpClient.
  • SOLR-5620: ZKStateReader.aliases should be volatile to ensure all threads see the latest aliases.
  • SOLR-5448: ShowFileRequestHandler treats everything as Directory, when in Cloud-Mode.
  • Optimizations:
  • SOLR-5436: Eliminate the 1500ms wait in overseer loop as well as polling the ZK distributed queue.
  • SOLR-5189: Solr 4.x Web UI Log Viewer does not display 'date' column from logs
  • SOLR-5512: Optimize DocValuesFacets.
  • SOLR-2960: fix DIH XPathEntityProcessor to add the correct number of "null" placeholders for multi-valued fields
  • SOLR-5214: Reduce memory usage for shard splitting by merging segments one at a time.
  • SOLR-4227: Wrap XML RequestWriter's OutputStreamWriter in a BufferedWriter to avoid frequent converter invocations.
  • SOLR-5624: Enable QueryResultCache for CollapsingQParserPlugin.
  • LUCENE-5440: DocSet decoupled from OpenBitSet. DocSetBase moved to use FixedBitSet instead of OpenBitSet. As a result BitDocSet now only works with FixedBitSet.
  • Other Changes:
  • SOLR-5399: Add distributed request tracking information to DebugComponent
  • SOLR-5421: Remove double set of distrib.from param in processAdd method of DistributedUpdateProcessor.
  • SOLR-5404: The example config references deprecated classes.
  • SOLR-5487: Replication factor error message doesn't match constraint.
  • SOLR-5499: Log a warning if /get is not registered when using SolrCloud.
  • SOLR-5517: Return HTTP error on POST requests with no Content-Type.
  • SOLR-5502: Added a test for tri-level compositeId routing with documents having a "/" in a document id.
  • SOLR-5533: Improve out of the box support for running Solr on hdfs with SolrCloud.
  • SOLR-5548: Give DistributedSearchTestCase / JettySolrRunner the ability to specify extra filters.
  • SOLR-5555: LBHttpSolrServer and CloudSolrServer constructors don't need to declare MalformedURLExceptions
  • SOLR-5565: Raise default ZooKeeper session timeout to 30 seconds from 15 seconds.
  • SOLR-5574: CoreContainer shutdown publishes all nodes as down and waits to see that and then again publishes all nodes as down.
  • SOLR-5590: Upgrade HttpClient/HttpComponents to 4.3.x.
  • SOLR-2794: change the default of hl.phraseLimit to 5000.
  • SOLR-5632: Improve response message for reloading a non-existent core.
  • SOLR-5633: HttpShardHandlerFactory should make its http client available to subclasses.
  • SOLR-5684: Shutdown SolrServer clients created in BasicDistributedZk2Test and BasicDistributedZkTest.
  • SOLR-5629: SolrIndexSearcher.name should include core name.
  • SOLR-5702: Log config name found for collection at info level.
  • SOLR-5659: Add test for compositeId ending with an '!'.
  • SOLR-5700: Improve error handling of remote queries (proxied requests).
  • SOLR-5585: Raise Collections API timeout to 3 minutes from one minute.
  • SOLR-5257: Improved error/warn messages when Update XML contains unexpected XML nodes

New in version 4.6.1 (January 28th, 2014)

  • Versions of Major Components:
  • Apache Tika 1.4
  • Carrot2 3.8.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.5
  • Bug Fixes:
  • SOLR-5408: CollapsingQParserPlugin scores incorrectly when multiple sort criteria are used
  • SOLR-5416: CollapsingQParserPlugin breaks Tag/Exclude Faceting
  • SOLR-5442: Python client cannot parse proxied response when served by Tomcat.
  • SOLR-5445: Proxied responses should propagate all headers rather than the first one for each key.
  • SOLR-5479: SolrCmdDistributor retry logic stops if a leader for the request cannot be found in 1 second.
  • SOLR-5532: SolrJ Content-Type validation is too strict for some webcontainers / proxies.
  • SOLR-5547: Creating a collection alias using SolrJ's CollectionAdminRequest sets the alias name and the collections to alias to the same value.
  • SOLR-5577: Likely ZooKeeper expiration should not slow down updates a given amount, but instead cut off updates after a given time.
  • SOLR-5580: NPE when creating a core with both explicit shard and coreNodeName.
  • SOLR-5552: Leader recovery process can select the wrong leader if all replicas for a shard are down and trying to recover as well as lose updates that should have been recovered.
  • SOLR-5569 A replica should not try and recover from a leader until it has published that it is ACTIVE.
  • SOLR-5568 A SolrCore cannot decide to be the leader just because the cluster state says no other SolrCore's are active.
  • SOLR-5496: We should share an http connection manager across non search HttpClients and ensure all http connection managers get shutdown.
  • SOLR-5583: ConcurrentUpdateSolrServer#blockUntilFinished may wait forever if the executor service is shutdown.
  • SOLR-5586: All ZkCmdExecutor's should be initialized with the zk client timeout.
  • SOLR-5587: ElectionContext implementations should use ZkCmdExecutor#ensureExists to ensure their election paths are properly created.
  • SOLR-5540: HdfsLockFactory should explicitly create the lock parent directory if necessary.
  • SOLR-4709: The core reload after replication if config files have changed can fail due to a race condition.
  • SOLR-5503: Retry 'forward to leader' requests less aggressively - rather than on IOException and status 500, ConnectException.
  • SOLR-5588: PeerSync doesn't count all connect failures as success.
  • SOLR-5564: hl.maxAlternateFieldLength should apply to original field when fallback is attempted
  • SOLR-5608: Don't allow a closed SolrCore to publish state to ZooKeeper.
  • SOLR-5615: Deadlock while trying to recover after a ZK session expiration.
  • SOLR-5543: Core swaps resulted in duplicate core entries in solr.xml when using solr.xml persistence.
  • SOLR-5618: Fix false cache hits in queryResultCache when hashCodes are equal and duplicate filter queries exist in one of the requests
  • SOLR-4260: ConcurrentUpdateSolrServer#blockUntilFinished can return before all previously added updates have finished. This could cause distributed updates meant for replicas to be lost.
  • SOLR-5645: A SolrCore reload via the CoreContainer will try and register in zk again with the new SolrCore.
  • SOLR-5636: SolrRequestParsers does some xpath lookups on every request, which can cause concurrency issues.
  • SOLR-5658: commitWithin and overwrite are not being distributed to replicas now that SolrCloud uses javabin to distribute updates.
  • Optimizations:
  • SOLR-5576: Improve concurrency when registering and waiting for all SolrCore's to register a DOWN state.

New in version 4.6.0 (November 22nd, 2013)

  • Versions of Major Components:
  • Apache Tika 1.4
  • Carrot2 3.8.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.5
  • New Features:
  • SOLR-5167: Add support for AnalyzingInfixSuggester (AnalyzingInfixLookupFactory).
  • SOLR-5246: Shard splitting now supports collections configured with router.field.
  • SOLR-5274: Allow JettySolrRunner SSL config to be specified via a constructor.
  • SOLR-5300: Shards can be split by specifying arbitrary number of hash ranges within the shard's hash range.
  • SOLR-5226: Add Lucene index heap usage to the Solr admin UI.
  • SOLR-5324: Make sub shard replica recovery and shard state switch asynchronous.
  • SOLR-5338: Split shards by a route key using split.key parameter.
  • SOLR-5353: Enhance CoreAdmin api to split a route key's documents from an index and leave behind all other documents.
  • SOLR-5027: CollapsingQParserPlugin for high performance field collapsing on high cardinality fields.
  • SOLR-5395: Added a RunAlways marker interface for UpdateRequestProcessorFactory implementations indicating that they should not be removed in later stages of distributed updates (usually signalled by the update.distrib parameter)
  • SOLR-5310: Add a collection admin command to remove a replica
  • SOLR-5311: Avoid registering replicas which are removed
  • SOLR-5406: CloudSolrServer failed to propagate request parameters along with delete updates.
  • SOLR-5374: Support user configured doc-centric versioning rules via the optional DocBasedVersionConstraintsProcessorFactory update processor
  • SOLR-5392: Extend solrj apis to cover collection management.
  • SOLR-5084: new field type EnumField.
  • SOLR-5464: Add option to ConcurrentSolrServer to stream pure delete requests.
  • Bug Fixes:
  • SOLR-5216: Document updates to SolrCloud can cause a distributed deadlock.
  • SOLR-5367: Unmarshalling delete by id commands with JavaBin can lead to class cast exception.
  • SOLR-5359: ZooKeeper client is not closed when it fails to connect to an ensemble.
  • SOLR-5042: MoreLikeThisComponent was using the rows/count value in place of flags, which caused a number of very strange issues, including NPEs and ignoring requests for the results to include the score.
  • SOLR-5371: Solr should consistently call SolrServer#shutdown
  • SOLR-5363: Solr doesn't start up properly with Log4J2
  • SOLR-5380: Using cloudSolrServer.setDefaultCollection(collectionId) does not work as intended for an alias spanning more than 1 collection.
  • SOLR-5418: Background merge after field removed from solr.xml causes error.
  • SOLR-5318: Creating a core via the admin API doesn't respect transient property
  • SOLR-5388: Creating a new core via the HTTP API that results in a transient being unloaded results in a " Too many close [count:-1]" error.
  • SOLR-5453: Raise recovery socket read timeouts.
  • SOLR-5397: Replication can fail silently in some cases.
  • SOLR-5465: SolrCmdDistributor retry logic has a concurrency race bug.
  • SOLR-5452: Do not attempt to proxy internal update requests.
  • Optimizations:
  • SOLR-5232: SolrCloud should distribute updates via streaming rather than buffering.
  • SOLR-5223: SolrCloud should use the JavaBin binary format for communication by default.
  • SOLR-5370: Requests to recover when an update fails should be done in background threads.
  • LUCENE-5300,LUCENE-5304: Specialized faceting for fields which are declared as multi-valued in the schema but are actually single-valued.
  • Security:
  • SOLR-4882: SolrResourceLoader was restricted to only allow access to resource files below the instance dir. The reason for this is security related: Some Solr components allow to pass in resource paths via REST parameters (e.g. XSL stylesheets, velocity templates,...) and load them via resource loader. For backwards compatibility, this security feature can be disabled by a new system property: solr.allow.unsafe.resourceloading=true
  • Other Changes:
  • SOLR-5237: Add indexHeapUsageBytes to LukeRequestHandler, indicating how much heap memory is being used by the underlying Lucene index structures.
  • SOLR-5241: Fix SimplePostToolTest performance problem - implicit DNS lookups
  • SOLR-5273: Update HttpComponents to 4.2.5 and 4.2.6.
  • SOLR-5264: Move methods for getting config information from FieldMutatingUpdateProcessorFactory to NamedList.
  • SOLR-5319: Remove unused and incorrect router name from Collection ZK nodes.
  • SOLR-5321: Remove unnecessary code in Overseer.updateState method which tries to use router name from message where none is ever sent.
  • SOLR-5401: SolrResourceLoader logs a warning if a deprecated (factory) class is used in schema or config.
  • SOLR-3397: Warn if master or slave replication is enabled in SolrCloud mode.

New in version 4.5.1 (October 25th, 2013)

  • Versions of Major Components:
  • Apache Tika 1.4
  • Carrot2 3.8.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.5
  • Bug Fixes:
  • SOLR-4590: Collections API should return a nice error when not in SolrCloud mode.
  • SOLR-5295: The CREATESHARD collection API creates maxShardsPerNode number of replicas if replicationFactor is not specified.
  • SOLR-5296: Creating a collection with implicit router adds shard ranges to each shard.
  • SOLR-5263: Fix CloudSolrServer URL cache update race.
  • SOLR-5297: Admin UI - Threads Screen missing Icon
  • SOLR-5301: DELETEALIAS command prints CREATEALIAS in logs
  • SOLR-5255: Remove unnecessary call to fetch and watch live nodes in ZkStateReader cluster watcher.
  • SOLR-5305: Admin UI - Reloading System-Information on Dashboard does not work anymore
  • SOLR-5314: Shard split action should use soft commits instead of hard commits to make sub shard data visible.
  • SOLR-5327: SOLR-4915, "The root cause should be returned to the user when a SolrCore create call fails", was reverted.
  • SOLR-5317: SolrCore persistence bugs if defining SolrCores in solr.xml.
  • SOLR-5306: Extra collection creation parameters like collection.configName are not being respected.
  • SOLR-5325: ZooKeeper connection loss can cause the Overseer to stop processing commands.
  • SOLR-4327: HttpSolrServer can leak connections on errors.
  • SOLR-5349: CloudSolrServer - ZK timeout arguments passed to ZkStateReader are flipped.
  • SOLR-5330: facet.method=fcs on single values fields could sometimes result in incorrect facet labels.
  • Other Changes:
  • SOLR-5323: Disable ClusteringComponent by default in collection1 example. The solr.clustering.enabled system property needs to be set to 'true' to enable the clustering contrib (reverts SOLR-4708).

New in version 4.5.0 (October 7th, 2013)

  • Versions of Major Components:
  • Apache Tika 1.4
  • Carrot2 3.8.0
  • Velocity 1.7 and Velocity Tools 2.0
  • Apache UIMA 2.3.1
  • Apache ZooKeeper 3.4.5
  • Upgrading from Solr 4.4.0:
  • XML configuration parsing is now more strict about situations where a single setting is allowed but multiple values are found. In the past, one value would be chosen arbitrarily and silently. Starting with 4.5, configuration parsing will fail with an error in situations like this. If you see error messages such as "solrconfig.xml contains more than one value for config path: XXXXX" or "Found Z configuration sections when at most 1 is allowed matching expression: XXXXX" check your solrconfig.xml file for multiple occurrences of XXXXX and delete the ones that you do not wish to use. See SOLR-4953 & SOLR-5108 for more details.
  • In the past, schema.xml parsing would silently ignore "default" or "required" options specified on declarations. Begining with 4.5, attempting to do configured these on a dynamic field will cause an init error. If you encounter one of these errors when upgrading an existing schema.xml, you can safely remove these attributes, regardless of their value, from your config and Solr will continue to bahave exactly as it did in previous versions. See SOLR-5227 for more details.
  • The UniqFieldsUpdateProcessorFactory has been improved to support all of the FieldMutatingUpdateProcessorFactory selector options. The init param option is now deprecated and should be replaced with the more standard . See SOLR-4249 for more details.
  • UpdateRequestExt has been removed as part of SOLR-4816. You should use UpdateRequest instead.
  • CloudSolrServer can now use multiple threads to add documents by default. This is a small change in runtime semantics when using the bulk add method - you will still end up with the same exception on a failure, but some documents beyond the one that failed may have made it in. To get the old, single threaded behavior, set parallel updates to false on the CloudSolrServer instance.
  • New Features:
  • SOLR-5219: Rewritten selection of the default search and document clustering algorithms.
  • SOLR-5202: Support easier overrides of Carrot2 clustering attributes via XML data sets exported from the Workbench.
  • SOLR-5126: Update Carrot2 clustering to version 3.8.0, update Morfologik to version 1.7.1
  • SOLR-2345: Enhanced geodist() to work with an RPT field, provided that the field is referenced via 'sfield' and the query point is constant.
  • SOLR-5082: The encoding of URL-encoded query parameters can be changed with the "ie" (input encoding) parameter, e.g. "select?q=m�ller&ie=ISO-8859-1". The default is UTF-8. To change the encoding of POSTed content, use the "Content-Type" HTTP header.
  • SOLR-4221: Custom sharding
  • SOLR-4808: Persist and use router,replicationFactor and maxShardsPerNode at Collection and Shard level
  • SOLR-5006: CREATESHARD command for 'implicit' shards
  • SOLR-5017: Allow sharding based on the value of a field
  • SOLR-4222: create custom sharded collection via collections API
  • SOLR-4718: Allow solr.xml to be stored in ZooKeeper.
  • SOLR-5156: Enhance ZkCLI to allow uploading of arbitrary files to ZK.
  • SOLR-5165: Single-valued docValues fields no longer require a default value. Additionally they work with sortMissingFirst, sortMissingLast, facet.missing, exists() in function queries, etc.
  • SOLR-5182: Add NoOpRegenerator, a regenerator for custom per-segment caches where items are preserved across commits.
  • SOLR-4249: UniqFieldsUpdateProcessorFactory now extends FieldMutatingUpdateProcessorFactory and supports all of it's selector options. Use of the "fields" init param is now deprecated in favor of "fieldName"
  • SOLR-2548: Allow multiple threads to be specified for faceting. When threading, one can specify facet.threads to parallelize loading the uninverted fields. In at least one extreme case this reduced warmup time from 20 seconds to 3 seconds.
  • SOLR-4816: CloudSolrServer can now route updates locally and no longer relies on inter-node update forwarding.
  • SOLR-3249: Allow CloudSolrServer and SolrCmdDistributor to use JavaBin.
  • Bug Fixes:
  • SOLR-3633: web UI reports an error if CoreAdminHandler says there are no SolrCores
  • SOLR-4489: SpellCheckComponent can throw StringIndexOutOfBoundsException when generating collations involving multiple word-break corrections.
  • SOLR-5087 - CoreAdminHandler.handleMergeAction generating NullPointerException
  • SOLR-5107: Fixed NPE when using numTerms=0 in LukeRequestHandler
  • SOLR-4679, SOLR-4908, SOLR-5124: Text extracted from HTML or PDF files using Solr Cell was missing ignorable whitespace, which is inserted by TIKA for convenience to support plain text extraction without using the HTML elements. This bug resulted in glued words.
  • SOLR-5121: zkcli usage help for makepath doesn't match actual command.
  • SOLR-5119: Managed schema problems after adding fields via Schema Rest API.
  • SOLR-5133: HdfsUpdateLog can fail to close a FileSystem instance if init is called more than once.
  • SOLR-5135: Harden Collection API deletion of /collections/$collection ZooKeeper node.
  • SOLR-4764: When using NRT, just init the first reader from IndexWriter.
  • SOLR-5122: Fixed bug in spellcheck.collateMaxCollectDocs. Eliminates risk of divide by zero, and makes estimated hit counts meaningful in non-optimized indexes.
  • SOLR-3936: Fixed QueryElevationComponent sorting when used with Grouping
  • SOLR-5171: SOLR Admin gui works in IE9, breaks in IE10.
  • SOLR-5174: Admin UI - Query View doesn't highlight (json) Result if it contains HTML Tags
  • SOLR-4817 Solr should not fall back to the back compat built in solr.xml in SolrCloud mode
  • SOLR-5112: Show full message in Admin UI Logging View
  • SOLR-5190: SolrEntityProcessor substitutes variables only once in child entities
  • SOLR-3852: Fixed ZookeeperInfoServlet so that the SolrCloud Admin UI pages will work even if ZK contains nodes with data which are not utf8 text.
  • SOLR-5206: Fixed OpenExchangeRatesOrgProvider to use refreshInterval correctly
  • SOLR-5215: Fix possibility of deadlock in ZooKeeper ConnectionManager.
  • SOLR-4909: Use DirectoryReader.openIfChanged in non-NRT mode.
  • SOLR-5227: Correctly fail schema initalization if a dynamicField is configured to be required, or have a default value.
  • SOLR-5231: Fixed a bug with the behavior of BoolField that caused documents w/o a value for the field to act as if the value were true in functions if no other documents in the same index segment had a value of true.
  • SOLR-5233: The "deleteshard" collections API doesn't wait for cluster state to update, can fail if some nodes of the deleted shard were down and had incorrect logging.
  • SOLR-5150: HdfsIndexInput may not fully read requested bytes.
  • SOLR-5240: All solr cores will now be loaded in parallel (as opposed to a fixed number) in zookeeper mode to avoid deadlocks due to replicas waiting for other replicas to come up.
  • SOLR-5243: Killing a shard in one collection can result in leader election in a different collection if they share the same coreNodeName.
  • SOLR-5281: IndexSchema log message was printing '[null]' instead of '[]'
  • SOLR-5279: Implicit properties don't seem to exist on core RELOAD
  • Optimizations:
  • SOLR-5044: Admin UI - Note on Core-Admin about directories while creating core
  • SOLR-5134: Have HdfsIndexOutput extend BufferedIndexOutput.
  • SOLR-5057: QueryResultCache should not related with the order of fq's list
  • SOLR-4816: CloudSolrServer now uses multiple threads to send updates by default.
  • Other Changes:
  • SOLR-4708: Enable ClusteringComponent by default in collection1 example. The solr.clustering.enabled system property is set to 'true' by default.
  • SOLR-4914, SOLR-5162: Factor out core list persistence and discovery into a new CoresLocator interface.
  • SOLR-5056: Improve type safety of ConfigSolr class.
  • SOLR-4951: Better randomization of MergePolicy in Solr tests
  • SOLR-4953, SOLR-5108: Make XML Configuration parsing fail if an xpath matches multiple nodes when only a single value or plugin instance is expected.
  • The routing parameter "shard.keys" is deprecated as part of SOLR-5017 .The new parameter name is '_route_' . The old parameter should continue to work for another release
  • SOLR-5173: Solr-core's Maven configuration includes test-only Hadoop dependencies as indirect compile-time dependencies.

New in version 4.3.1 (June 19th, 2013)

  • Bug Fixes:
  • SOLR-4795: Sub shard leader should not accept any updates from parent after it goes active
  • SOLR-4798: shard splitting does not respect the router for the collection when executing the index split. One effect of this is that documents may be placed in the wrong shard when the default compositeId router is used in conjunction with IDs containing "!".
  • SOLR-4797: Shard splitting creates sub shards which have the wrong hash range in cluster state. This happens when numShards is not a power of two and router is compositeId.
  • SOLR-4791: solr.xml sharedLib does not work in 4.3.0
  • (Ryan Ernst, Jan Høydahl via Erick Erickson)
  • SOLR-4806: Shard splitting does not abort if WaitForState times out
  • SOLR-4807: The zkcli script now works with log4j. The zkcli.bat script was broken on Windows in 4.3.0, now it works.
  • SOLR-4813: Fix SynonymFilterFactory to allow init parameters for tokenizer factory used when parsing synonyms file.
  • SOLR-4829: Fix transaction log leaks (a failure to clean up some old logs) on a shard leader, or when unexpected exceptions are thrown during log recovery.
  • SOLR-4751: Fix replication problem of files in sub directory of conf directory.
  • SOLR-4741: Deleting a collection should set DELETE_DATA_DIR to true.
  • SOLR-4752: There are some minor bugs in the Collections API parameter validation.
  • SOLR-4563: RSS DIH-example not working
  • SOLR-4796: zkcli.sh should honor JAVA_HOME
  • SOLR-4734: Leader election fails with an NPE if there is no UpdateLog.
  • SOLR-4842: Fix facet.field local params from affecting other facet.field's.
  • SOLR-4868: Setting the log level for the log4j root category results in adding a new category, the empty string.
  • SOLR-4855: DistributedUpdateProcessor doesn't check for peer sync requests
  • SOLR-4867: Admin UI - setting loglevel on root throws RangeError
  • SOLR-4870: RecentUpdates.update() does not increment numUpdates loop counter
  • SOLR-4877, LUCENE-5023: Removed SolrIndexSearcher#getDocSetNC()'s special case for handling TermQuery to prevent NullPointerException if reader does not have fields.
  • SOLR-4881: Fix DocumentAnalysisRequestHandler to correctly use EmptyEntityResolver to prevent loading of external entities like UpdateRequestHandler does.
  • SOLR-4858: SolrCore reloading was broken when the UpdateLog was enabled.
  • SOLR-4853: Fixed SolrJettyTestBase so it may be reused by end users
  • SOLR-4744: Update failure on sub shard is not propagated to clients by parent shard
  • Other Changes:
  • SOLR-4760: Include core name in logs when loading schema.

New in version 4.3.0 (May 7th, 2013)

  • Versions 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.

New in version 4.2.1 (April 4th, 2013)

  • Versions 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

New in version 4.2.0 (March 12th, 2013)

  • New 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)

New in version 4.1.0 (January 23rd, 2013)

  • Versions 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.

New in version 4.0.0 (October 12th, 2012)

  • Highlights:
  • 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.

New in version 4.0.0 Beta (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.

New in version 3.6.1 (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.

New in version 3.6.0 (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

New in version 3.5.0 (November 28th, 2011)

  • New 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)

New in version 3.4.0 (September 15th, 2011)

  • Upgrading 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)

New in version 3.3.0 (July 2nd, 2011)

  • New 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)

New in version 3.1.0 (March 31st, 2011)

  • New 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)

New in version 1.4.1 (June 26th, 2010)

  • Bug 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)

New in version 1.4.0 (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