1 | Apache Solr Release Notes |
---|
2 | |
---|
3 | Introduction |
---|
4 | ------------ |
---|
5 | Apache Solr is an open source enterprise search server based on the Apache Lucene Java |
---|
6 | search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, |
---|
7 | caching, replication, and a web administration interface. It runs in a Java |
---|
8 | servlet container such as Tomcat. |
---|
9 | |
---|
10 | See http://lucene.apache.org/solr for more information. |
---|
11 | |
---|
12 | |
---|
13 | Getting Started |
---|
14 | --------------- |
---|
15 | You need a Java 1.6 VM or later installed. |
---|
16 | In this release, there is an example Solr server including a bundled |
---|
17 | servlet container in the directory named "example". |
---|
18 | See the tutorial at http://lucene.apache.org/solr/tutorial.html |
---|
19 | |
---|
20 | |
---|
21 | $Id: CHANGES.txt 1352798 2012-06-22 08:24:10Z tommaso $ |
---|
22 | |
---|
23 | ================== 4.0.0-ALPHA ================== |
---|
24 | More information about this release, including any errata related to the |
---|
25 | release notes, upgrade instructions, or other changes may be found online at: |
---|
26 | https://wiki.apache.org/solr/Solr4.0 |
---|
27 | |
---|
28 | |
---|
29 | Versions of Major Components |
---|
30 | --------------------- |
---|
31 | Apache Tika 1.1 |
---|
32 | Carrot2 3.5.0 |
---|
33 | Velocity 1.6.4 and Velocity Tools 2.0 |
---|
34 | Apache UIMA 2.3.1 |
---|
35 | Apache ZooKeeper 3.3.4 |
---|
36 | |
---|
37 | |
---|
38 | Upgrading from Solr 3.6-dev |
---|
39 | ---------------------- |
---|
40 | |
---|
41 | * The Lucene index format has changed and as a result, once you upgrade, |
---|
42 | previous versions of Solr will no longer be able to read your indices. |
---|
43 | In a master/slave configuration, all searchers/slaves should be upgraded |
---|
44 | before the master. If the master were to be updated first, the older |
---|
45 | searchers would not be able to read the new index format. |
---|
46 | |
---|
47 | * Setting abortOnConfigurationError=false is no longer supported |
---|
48 | (since it has never worked properly). Solr will now warn you if |
---|
49 | you attempt to set this configuration option at all. (see SOLR-1846) |
---|
50 | |
---|
51 | * The default logic for the 'mm' param of the 'dismax' QParser has |
---|
52 | been changed. If no 'mm' param is specified (either in the query, |
---|
53 | or as a default in solrconfig.xml) then the effective value of the |
---|
54 | 'q.op' param (either in the query or as a default in solrconfig.xml |
---|
55 | or from the 'defaultOperator' option in schema.xml) is used to |
---|
56 | influence the behavior. If q.op is effectively "AND" then mm=100%. |
---|
57 | If q.op is effectively "OR" then mm=0%. Users who wish to force the |
---|
58 | legacy behavior should set a default value for the 'mm' param in |
---|
59 | their solrconfig.xml file. |
---|
60 | |
---|
61 | * The VelocityResponseWriter is no longer built into the core. Its JAR and |
---|
62 | dependencies now need to be added (via <lib> or solr/home lib inclusion), |
---|
63 | and it needs to be registered in solrconfig.xml like this: |
---|
64 | <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter"/> |
---|
65 | |
---|
66 | * The update request parameter to choose Update Request Processor Chain is |
---|
67 | renamed from "update.processor" to "update.chain". The old parameter was |
---|
68 | deprecated but still working since Solr3.2, but is now removed |
---|
69 | entirely. |
---|
70 | |
---|
71 | * The <indexDefaults> and <mainIndex> sections of solrconfig.xml are discontinued |
---|
72 | and replaced with the <indexConfig> section. There are also better defaults. |
---|
73 | When migrating, if you don't know what your old settings mean, simply delete |
---|
74 | both <indexDefaults> and <mainIndex> sections. If you have customizations, |
---|
75 | put them in <indexConfig> section - with same syntax as before. |
---|
76 | |
---|
77 | * Two of the SolrServer subclasses in SolrJ were renamed/replaced. |
---|
78 | CommonsHttpSolrServer is now HttpSolrServer, and |
---|
79 | StreamingUpdateSolrServer is now ConcurrentUpdateSolrServer. |
---|
80 | |
---|
81 | * The PingRequestHandler no longer looks for a <healthcheck/> option in the |
---|
82 | (legacy) <admin> section of solrconfig.xml. Users who wish to take |
---|
83 | advantage of this feature should configure a "healthcheckFile" init param |
---|
84 | directly on the PingRequestHandler. As part of this change, relative file |
---|
85 | paths have been fixed to be resolved against the data dir. See the example |
---|
86 | solrconfig.xml and SOLR-1258 for more details. |
---|
87 | |
---|
88 | * Due to low level changes to support SolrCloud, the uniqueKey field can no |
---|
89 | longer be populated via <copyField/> or <field default=...> in the |
---|
90 | schema.xml. Users wishing to have Solr automaticly generate a uniqueKey |
---|
91 | value when adding documents should instead use an instance of |
---|
92 | solr.UUIDUpdateProcessorFactory in their update processor chain. See |
---|
93 | SOLR-2796 for more details. |
---|
94 | |
---|
95 | |
---|
96 | Detailed Change List |
---|
97 | ---------------------- |
---|
98 | |
---|
99 | New Features |
---|
100 | ---------------------- |
---|
101 | |
---|
102 | * SOLR-3272: Solr filter factory for MorfologikFilter (Polish lemmatisation). |
---|
103 | (RafaÅ KuÄ via Dawid Weiss, Steven Rowe, Uwe Schindler). |
---|
104 | |
---|
105 | * SOLR-571: The autowarmCount for LRUCaches (LRUCache and FastLRUCache) now |
---|
106 | supports "percentages" which get evaluated relative the current size of |
---|
107 | the cache when warming happens. |
---|
108 | (Tomas Fernandez Lobbe and hossman) |
---|
109 | |
---|
110 | * SOLR-1932: New relevancy function queries: termfreq, tf, docfreq, idf |
---|
111 | norm, maxdoc, numdocs. (yonik) |
---|
112 | |
---|
113 | * SOLR-1665: Add debug component options for timings, results and query info only (gsingers, hossman, yonik) |
---|
114 | |
---|
115 | * SOLR-2112: Solrj API now supports streaming results. (ryan) |
---|
116 | |
---|
117 | * SOLR-792: Adding PivotFacetComponent for Hierarchical faceting |
---|
118 | (ehatcher, Jeremy Hinegardner, Thibaut Lassalle, ryan) |
---|
119 | |
---|
120 | * LUCENE-2507, SOLR-2571, SOLR-2576: Added DirectSolrSpellChecker, which uses Lucene's |
---|
121 | DirectSpellChecker to retrieve correction candidates directly from the term dictionary using |
---|
122 | levenshtein automata. (James Dyer, rmuir) |
---|
123 | |
---|
124 | * SOLR-1873, SOLR-2358: SolrCloud - added shared/central config and core/shard management via zookeeper, |
---|
125 | built-in load balancing, and distributed indexing. |
---|
126 | (Jamie Johnson, Sami Siren, Ted Dunning, yonik, Mark Miller) |
---|
127 | Additional Work: |
---|
128 | SOLR-2324: SolrCloud solr.xml parameters are not persisted by CoreContainer. |
---|
129 | (Massimo Schiavon, Mark Miller) |
---|
130 | SOLR-2287: Allow users to query by multiple, compatible collections with SolrCloud. |
---|
131 | (Soheb Mahmood, Alex Cowell, Mark Miller) |
---|
132 | SOLR-2622: ShowFileRequestHandler does not work in SolrCloud mode. |
---|
133 | (Stefan Matheis, Mark Miller) |
---|
134 | SOLR-3108: Error in SolrCloud's replica lookup code when replica's are hosted in same Solr instance. |
---|
135 | (Bruno Dumon, Sami Siren, Mark Miller) |
---|
136 | SOLR-3080: Remove shard info from zookeeper when SolrCore is explicitly unloaded. |
---|
137 | (yonik, Mark Miller, siren) |
---|
138 | SOLR-3437: Recovery issues a spurious commit to the cluster. (Trym R. MÞller via Mark Miller) |
---|
139 | SOLR-2822: Skip update processors already run on other nodes (hossman) |
---|
140 | |
---|
141 | * SOLR-1566: Transforming documents in the ResponseWriters. This will allow |
---|
142 | for more complex results in responses and open the door for function queries |
---|
143 | as results. |
---|
144 | (ryan with patches from grant, noble, cmale, yonik, Jan HÞydahl, |
---|
145 | Arul Kalaipandian, Luca Cavanna, hossman) |
---|
146 | SOLR-2037: Thanks to SOLR-1566, documents boosted by the QueryElevationComponent |
---|
147 | can be marked as boosted. (gsingers, ryan, yonik) |
---|
148 | |
---|
149 | * SOLR-2396: Add CollationField, which is much more efficient than |
---|
150 | the Solr 3.x CollationKeyFilterFactory, and also supports |
---|
151 | Locale-sensitive range queries. (rmuir) |
---|
152 | |
---|
153 | * SOLR-2338: Add support for using <similarity/> in a schema's fieldType, |
---|
154 | for customizing scoring on a per-field basis. (hossman, yonik, rmuir) |
---|
155 | |
---|
156 | * SOLR-2335: New 'field("...")' function syntax for referring to complex |
---|
157 | field names (containing whitespace or special characters) in functions. |
---|
158 | |
---|
159 | * SOLR-2383: /browse improvements: generalize range and date facet display |
---|
160 | (Jan HÞydahl via yonik) |
---|
161 | |
---|
162 | * SOLR-2272: Pseudo-join queries / filters. Examples: |
---|
163 | To restrict to the set of parents with at least one blue-eyed child: |
---|
164 | fq={!join from=parent to=name}eyes:blue |
---|
165 | To restrict to the set of children with at least one blue-eyed parent: |
---|
166 | fq={!join from=name to=parent}eyes:blue |
---|
167 | (yonik) |
---|
168 | |
---|
169 | * SOLR-1942: Added the ability to select postings format per fieldType in schema.xml |
---|
170 | as well as support custom Codecs in solrconfig.xml. |
---|
171 | (simonw via rmuir) |
---|
172 | |
---|
173 | * SOLR-2136: Boolean type added to function queries, along with |
---|
174 | new functions exists(), if(), and(), or(), xor(), not(), def(), |
---|
175 | and true and false constants. (yonik) |
---|
176 | |
---|
177 | * SOLR-2491: Add support for using spellcheck collation in conjunction |
---|
178 | with grouping. Note that the number of hits returned for collations |
---|
179 | is the number of ungrouped hits. (James Dyer via rmuir) |
---|
180 | |
---|
181 | * SOLR-1298: Return FunctionQuery as pseudo field. The solr 'fl' param |
---|
182 | now supports functions. For example: fl=id,sum(x,y) -- NOTE: only |
---|
183 | functions with fast random access are reccomended. (yonik, ryan) |
---|
184 | |
---|
185 | * SOLR-705: Optionally return shard info with each document in distributed |
---|
186 | search. Use fl=id,[shard] to return the shard url. (ryan) |
---|
187 | |
---|
188 | * SOLR-2417: Add explain info directly to return documents using |
---|
189 | ?fl=id,[explain] (ryan) |
---|
190 | |
---|
191 | * SOLR-2533: Converted ValueSource.ValueSourceSortField over to new rewriteable Lucene |
---|
192 | SortFields. ValueSourceSortField instances must be rewritten before they can be used. |
---|
193 | This is done by SolrIndexSearcher when necessary. (Chris Male). |
---|
194 | |
---|
195 | * SOLR-2193, SOLR-2565: You may now specify a 'soft' commit when committing. This will |
---|
196 | use Lucene's NRT feature to avoid guaranteeing documents are on stable storage in exchange |
---|
197 | for faster reopen times. There is also a new 'soft' autocommit tracker that can be |
---|
198 | configured. (Mark Miller, Robert Muir) |
---|
199 | |
---|
200 | * SOLR-2399: Updated Solr Admin interface. New look and feel with per core administration |
---|
201 | and many new options. (Stefan Matheis via ryan) |
---|
202 | |
---|
203 | * SOLR-1032: CSV handler now supports "literal.field_name=value" parameters. |
---|
204 | (Simon Rosenthal, ehatcher) |
---|
205 | |
---|
206 | * SOLR-2656: realtime-get, efficiently retrieves the latest stored fields for specified |
---|
207 | documents, even if they are not yet searchable (i.e. without reopening a searcher) |
---|
208 | (yonik) |
---|
209 | |
---|
210 | * SOLR-2703: Added support for Lucene's "surround" query parser. (Simon Rosenthal, ehatcher) |
---|
211 | |
---|
212 | * SOLR-2754: Added factories for several ranking algorithms: |
---|
213 | BM25SimilarityFactory: Okapi BM25 |
---|
214 | DFRSimilarityFactory: Divergence from Randomness models |
---|
215 | IBSimilarityFactory: Information-based models |
---|
216 | LMDirichletSimilarity: LM with Dirichlet smoothing |
---|
217 | LMJelinekMercerSimilarity: LM with Jelinek-Mercer smoothing |
---|
218 | (David Mark Nemeskey, Robert Muir) |
---|
219 | |
---|
220 | * SOLR-2134 Trie* fields should support sortMissingLast=true, and deprecate Sortable* Field Types |
---|
221 | (Ryan McKinley, Mike McCandless, Uwe Schindler, Erick Erickson) |
---|
222 | |
---|
223 | * SOLR-2438 added MultiTermAwareComponent to the various classes to allow automatic lowercasing |
---|
224 | for multiterm queries (wildcards, regex, prefix, range, etc). You can now optionally specify a |
---|
225 | "multiterm" analyzer in our schema.xml, but Solr should "do the right thing" if you don't |
---|
226 | specify <analyzer type="multiterm"> (Pete Sturge Erick Erickson, Mentoring from Seeley and Muir) |
---|
227 | |
---|
228 | * SOLR-2481: Add support for commitWithin in DataImportHandler (Sami Siren via yonik) |
---|
229 | |
---|
230 | * SOLR-2992: Add support for IndexWriter.prepareCommit() via prepareCommit=true |
---|
231 | on update URLs. (yonik) |
---|
232 | |
---|
233 | * SOLR-2906: Added LFU cache options to Solr. (Shawn Heisey via Erick Erickson) |
---|
234 | |
---|
235 | * SOLR-3069: Ability to add openSearcher=false to not open a searcher when doing |
---|
236 | a hard commit. commitWithin now only invokes a softCommit. (yonik) |
---|
237 | |
---|
238 | * SOLR-2802: New FieldMutatingUpdateProcessor and Factory to simplify the |
---|
239 | development of UpdateProcessors that modify field values of documents as |
---|
240 | they are indexed. Also includes several useful new implementations: |
---|
241 | RemoveBlankFieldUpdateProcessorFactory |
---|
242 | TrimFieldUpdateProcessorFactory |
---|
243 | HTMLStripFieldUpdateProcessorFactory |
---|
244 | RegexReplaceProcessorFactory |
---|
245 | FieldLengthUpdateProcessorFactory |
---|
246 | ConcatFieldUpdateProcessorFactory |
---|
247 | FirstFieldValueUpdateProcessorFactory |
---|
248 | LastFieldValueUpdateProcessorFactory |
---|
249 | MinFieldValueUpdateProcessorFactory |
---|
250 | MaxFieldValueUpdateProcessorFactory |
---|
251 | TruncateFieldUpdateProcessorFactory |
---|
252 | IgnoreFieldUpdateProcessorFactory |
---|
253 | (hossman, janhoy) |
---|
254 | |
---|
255 | * SOLR-3120: Optional post filtering for spatial queries bbox and geofilt |
---|
256 | for LatLonType. (yonik) |
---|
257 | |
---|
258 | * SOLR-2459: Expose LogLevel selection with a RequestHandler rather then servlet |
---|
259 | (Stefan Matheis, Upayavira, ryan) |
---|
260 | |
---|
261 | * SOLR-3134: Include shard info in distributed response when shards.info=true |
---|
262 | (Russell Black, ryan) |
---|
263 | |
---|
264 | * SOLR-2898: Support grouped faceting. (Martijn van Groningen) |
---|
265 | Additional Work: |
---|
266 | SOLR-3406: Extended grouped faceting support to facet.query and facet.range parameters. |
---|
267 | (David Boychuck, Martijn van Groningen) |
---|
268 | |
---|
269 | * SOLR-2949: QueryElevationComponent is now supported with distributed search. |
---|
270 | (Mark Miller, yonik) |
---|
271 | |
---|
272 | * SOLR-3221: Added the ability to directly configure aspects of the concurrency |
---|
273 | and thread-pooling used within distributed search in solr. This allows for finer |
---|
274 | grained controlled and can be tuned by end users to target their own specific |
---|
275 | requirements. This builds on the work of the HttpCommComponent and uses the same configuration |
---|
276 | block to configure the thread pool. The default configuration has |
---|
277 | the same behaviour as solr 3.5, favouring throughput over latency. More |
---|
278 | information can be found on the wiki (http://wiki.apache.org/solr/SolrConfigXml) (Greg Bowyer) |
---|
279 | |
---|
280 | * SOLR-3278: Negative boost support to the Extended Dismax Query Parser Boost Query (bq). |
---|
281 | (James Dyer) |
---|
282 | |
---|
283 | * SOLR-3255: OpenExchangeRates.Org Exchange Rate Provider for CurrencyField (janhoy) |
---|
284 | |
---|
285 | * SOLR-3358: Logging events are captured and available from the /admin/logging |
---|
286 | request handler. (ryan) |
---|
287 | |
---|
288 | * SOLR-1535: PreAnalyzedField type provides a functionality to index (and optionally store) |
---|
289 | field content that was already processed and split into tokens using some external processing |
---|
290 | chain. Serialization format is pluggable, and defaults to JSON. (ab) |
---|
291 | |
---|
292 | * SOLR-3363: Consolidated Exceptions in Analysis Factories so they only throw |
---|
293 | InitalizationExceptions (Chris Male) |
---|
294 | |
---|
295 | * SOLR-2690: New support for a "TZ" request param which overrides the TimeZone |
---|
296 | used when rounding Dates in DateMath expressions for the entire request |
---|
297 | (all date range queries and date faceting is affected). The default TZ |
---|
298 | is still UTC. (David Schlotfeldt, hossman) |
---|
299 | |
---|
300 | * SOLR-3402: Analysis Factories are now configured with their Lucene Version |
---|
301 | throw setLuceneMatchVersion, rather than through the Map passed to init. |
---|
302 | Parsing and simple error checking for the Version is now done inside |
---|
303 | the code that creates the Analysis Factories. (Chris Male) |
---|
304 | |
---|
305 | * SOLR-3178: Optimistic locking. If a _version_ is provided with an update |
---|
306 | that does not match the version in the index, an HTTP 409 error (Conflict) |
---|
307 | will result. (Per Steffensen, yonik) |
---|
308 | |
---|
309 | * SOLR-139: Updateable documents. JSON Example: |
---|
310 | {"id":"mydoc", "f1":{"set":10}, "f2":{"add":20}} will result in field "f1" |
---|
311 | being set to 10, "f2" having an additional value of 20 added, and all |
---|
312 | other existing fields unchanged. All source fields must be stored for |
---|
313 | this feature to work correctly. (Ryan McKinley, Erik Hatcher, yonik) |
---|
314 | |
---|
315 | * SOLR-2857: Support XML,CSV,JSON, and javabin in a single RequestHandler and |
---|
316 | choose the correct ContentStreamLoader based on Content-Type header. This |
---|
317 | also deprecates the existing [Xml,JSON,CSV,Binary,Xslt]UpdateRequestHandler. |
---|
318 | (ryan) |
---|
319 | |
---|
320 | * SOLR-2585: Context-Sensitive Spelling Suggestions & Collations. This adds support |
---|
321 | for the "spellcheck.alternativeTermCount" & "spellcheck.maxResultsForSuggest" |
---|
322 | parameters, letting users receive suggestions even when all the queried terms |
---|
323 | exist in the dictionary. This differs from "spellcheck.onlyMorePopular" in |
---|
324 | that the suggestions need not consist entirely of terms with a greater document |
---|
325 | frequency than the queried terms. (James Dyer) |
---|
326 | |
---|
327 | * SOLR-2058: Edismax query parser to allow "phrase slop" to be specified per-field |
---|
328 | on the pf/pf2/pf3 parameters using optional "FieldName~slop^boost" syntax. The |
---|
329 | prior "FieldName^boost" syntax is still accepted. In such cases the value on the |
---|
330 | "ps" parameter serves as the default slop. (Ron Mayer via James Dyer) |
---|
331 | |
---|
332 | * SOLR-3495: New UpdateProcessors have been added to create default values for |
---|
333 | configured fields. These works similarly to the <field default="..."/> |
---|
334 | option in schema.xml, but are applied in the UpdateProcessorChain, so they |
---|
335 | may be used prior to other UpdateProcessors, or to generate a uniqueKey field |
---|
336 | value when using the DistributedUpdateProcessor (ie: SolrCloud) |
---|
337 | TimestampUpdateProcessorFactory |
---|
338 | UUIDUpdateProcessorFactory |
---|
339 | DefaultValueUpdateProcessorFactory |
---|
340 | (hossman) |
---|
341 | |
---|
342 | * SOLR-2993: Add WordBreakSolrSpellChecker to offer suggestions by combining adjacent |
---|
343 | query terms and/or breaking terms into multiple words. This spellchecker can be |
---|
344 | configured with a traditional checker (ie: DirectSolrSpellChecker). The results |
---|
345 | are combined and collations can contain a mix of corrections from both spellcheckers. |
---|
346 | (James Dyer) |
---|
347 | |
---|
348 | * SOLR-3508: Simplify JSON update format for deletes as well as allow |
---|
349 | version specification for optimistic locking. Examples: |
---|
350 | {"delete":"myid"} |
---|
351 | {"delete":["id1","id2","id3"]} |
---|
352 | {"delete":{"id":"myid", "_version_":123456789}} |
---|
353 | (yonik) |
---|
354 | |
---|
355 | * SOLR-3211: Allow parameter overrides in conjunction with "spellcheck.maxCollationTries". |
---|
356 | To do so, use parameters starting with "spellcheck.collateParam." For instance, to |
---|
357 | override the "mm" parameter, specify "spellcheck.collateParam.mm". This is helpful |
---|
358 | in cases where testing spellcheck collations for result counts should use different |
---|
359 | parameters from the main query (James Dyer) |
---|
360 | |
---|
361 | * SOLR-2599: CloneFieldUpdateProcessorFactory provides similar functionality |
---|
362 | to schema.xml's <copyField/> declaration but as an update processor that can |
---|
363 | be combined with other processors in any order. (Jan HÞydahl & hossman) |
---|
364 | |
---|
365 | * SOLR-3351: eDismax: ps2 and ps3 params (janhoy) |
---|
366 | |
---|
367 | * SOLR-3542: Add WeightedFragListBuilder for FVH and set it to default fragListBuilder |
---|
368 | in example solrconfig.xml. (Sebastian Lutze, koji) |
---|
369 | |
---|
370 | Optimizations |
---|
371 | ---------------------- |
---|
372 | |
---|
373 | * SOLR-1875: Per-segment field faceting for single valued string fields. |
---|
374 | Enable with facet.method=fcs, control the number of threads used with |
---|
375 | the "threads" local param on the facet.field param. This algorithm will |
---|
376 | only be faster in the presence of rapid index changes. (yonik) |
---|
377 | |
---|
378 | * SOLR-1904: When facet.enum.cache.minDf > 0 and the base doc set is a |
---|
379 | SortedIntSet, convert to HashDocSet for better performance. (yonik) |
---|
380 | |
---|
381 | * SOLR-2092: Speed up single-valued and multi-valued "fc" faceting. Typical |
---|
382 | improvement is 5%, but can be much greater (up to 10x faster) when facet.offset |
---|
383 | is very large (deep paging). (yonik) |
---|
384 | |
---|
385 | * SOLR-2193, SOLR-2565: The default Solr update handler has been improved so |
---|
386 | that it uses fewer locks, keeps the IndexWriter open rather than closing it |
---|
387 | on each commit (ie commits no longer wait for background merges to complete), |
---|
388 | works with SolrCore to provide faster 'soft' commits, and has an improved API |
---|
389 | that requires less instanceof special casing. (Mark Miller, Robert Muir) |
---|
390 | Additional Work: |
---|
391 | SOLR-2697: commit and autocommit operations don't reset |
---|
392 | DirectUpdateHandler2.numDocsPending stats attribute. |
---|
393 | (Alexey Serba, Mark Miller) |
---|
394 | |
---|
395 | * SOLR-2950: The QueryElevationComponent now avoids using the FieldCache and looking up |
---|
396 | every document id (gsingers, yonik) |
---|
397 | |
---|
398 | Bug Fixes |
---|
399 | ---------------------- |
---|
400 | * SOLR-3139: Make ConcurrentUpdateSolrServer send UpdateRequest.getParams() |
---|
401 | as HTTP request params (siren) |
---|
402 | |
---|
403 | * SOLR-3165: Cannot use DIH in Solrcloud + Zookeeper (Alexey Serba, |
---|
404 | Mark Miller, siren) |
---|
405 | |
---|
406 | * SOLR-3068: Occasional NPE in ThreadDumpHandler (siren) |
---|
407 | |
---|
408 | * SOLR-2762: FSTLookup could return duplicate results or one results less |
---|
409 | than requested. (David Smiley, Dawid Weiss) |
---|
410 | |
---|
411 | * SOLR-2741: Bugs in facet range display in trunk (janhoy) |
---|
412 | |
---|
413 | * SOLR-1908: Fixed SignatureUpdateProcessor to fail to initialize on |
---|
414 | invalid config. Specifically: a signatureField that does not exist, |
---|
415 | or overwriteDupes=true with a signatureField that is not indexed. |
---|
416 | (hossman) |
---|
417 | |
---|
418 | * SOLR-1824: IndexSchema will now fail to initialize if there is a |
---|
419 | problem initializing one of the fields or field types. (hossman) |
---|
420 | |
---|
421 | * SOLR-1928: TermsComponent didn't correctly break ties for non-text |
---|
422 | fields sorted by count. (yonik) |
---|
423 | |
---|
424 | * SOLR-2107: MoreLikeThisHandler doesn't work with alternate qparsers. (yonik) |
---|
425 | |
---|
426 | * SOLR-2108: Fixed false positives when using wildcard queries on fields with reversed |
---|
427 | wildcard support. For example, a query of *zemog* would match documents that contain |
---|
428 | 'gomez'. (Landon Kuhn via Robert Muir) |
---|
429 | |
---|
430 | * SOLR-1962: SolrCore#initIndex should not use a mix of indexPath and newIndexPath (Mark Miller) |
---|
431 | |
---|
432 | * SOLR-2275: fix DisMax 'mm' parsing to be tolerant of whitespace |
---|
433 | (Erick Erickson via hossman) |
---|
434 | |
---|
435 | * SOLR-2193, SOLR-2565, SOLR-2651: SolrCores now properly share IndexWriters across SolrCore reloads. |
---|
436 | (Mark Miller, Robert Muir) |
---|
437 | Additional Work: |
---|
438 | SOLR-2705: On reload, IndexWriterProvider holds onto the initial SolrCore it was created with. |
---|
439 | (Yury Kats, Mark Miller) |
---|
440 | |
---|
441 | * SOLR-2682: Remove addException() in SimpleFacet. FacetComponent no longer catches and embeds |
---|
442 | exceptions occurred during facet processing, it throws HTTP 400 or 500 exceptions instead. (koji) |
---|
443 | |
---|
444 | * SOLR-2654: Directorys used by a SolrCore are now closed when they are no longer used. |
---|
445 | (Mark Miller) |
---|
446 | |
---|
447 | * SOLR-2854: Now load URL content stream data (via stream.url) when called for during request handling, |
---|
448 | rather than loading URL content streams automatically regardless of use. |
---|
449 | (David Smiley and Ryan McKinley via ehatcher) |
---|
450 | |
---|
451 | * SOLR-2829: Fix problem with false-positives due to incorrect |
---|
452 | equals methods. (Yonik Seeley, Hossman, Erick Erickson. |
---|
453 | Marc Tinnemeyer caught the bug) |
---|
454 | |
---|
455 | * SOLR-2848: Removed 'instanceof AbstractLuceneSpellChecker' hacks from distributed spellchecking code, |
---|
456 | and added a merge() method to SolrSpellChecker instead. Previously if you extended SolrSpellChecker |
---|
457 | your spellchecker would not work in distributed fashion. (James Dyer via rmuir) |
---|
458 | |
---|
459 | * SOLR-2509: StringIndexOutOfBoundsException in the spellchecker collate when the term contains |
---|
460 | a hyphen. (Thomas Gambier caught the bug, Steffen Godskesen did the patch, via Erick Erickson) |
---|
461 | |
---|
462 | * SOLR-1730: Made it clearer when a core failed to load as well as better logging when the |
---|
463 | QueryElevationComponent fails to properly initialize (gsingers) |
---|
464 | |
---|
465 | * SOLR-1520: QueryElevationComponent now supports non-string ids (gsingers) |
---|
466 | |
---|
467 | * SOLR-3037: When using binary format in solrj the codec screws up parameters |
---|
468 | (Sami Siren, Jörg Maier via yonik) |
---|
469 | |
---|
470 | * SOLR-3062: A join in the main query was not respecting any filters pushed |
---|
471 | down to it via acceptDocs since LUCENE-1536. (Mike Hugo, yonik) |
---|
472 | |
---|
473 | * SOLR-3214: If you use multiple fl entries rather than a comma separated list, all but the first |
---|
474 | entry can be ignored if you are using distributed search. (Tomas Fernandez Lobbe via Mark Miller) |
---|
475 | |
---|
476 | * SOLR-3352: eDismax: pf2 should kick in for a query with 2 terms (janhoy) |
---|
477 | |
---|
478 | * SOLR-3361: ReplicationHandler "maxNumberOfBackups" doesn't work if backups are triggered on commit |
---|
479 | (James Dyer, Tomas Fernandez Lobbe) |
---|
480 | |
---|
481 | * SOLR-2605: fixed tracking of the 'defaultCoreName' in CoreContainer so that |
---|
482 | CoreAdminHandler could return consistent information regardless of wether |
---|
483 | there is a a default core name or not. (steffkes, hossman) |
---|
484 | |
---|
485 | * SOLR-3370: fixed CSVResponseWriter to respect globs in the 'fl' param |
---|
486 | (Keith Fligg via hossman) |
---|
487 | |
---|
488 | * SOLR-3436: Group count incorrect when not all shards are queried in the second |
---|
489 | pass. (Francois Perron, Martijn van Groningen) |
---|
490 | |
---|
491 | * SOLR-3454: Exception when using result grouping with main=true and using |
---|
492 | wt=javabin. (Ludovic Boutros, Martijn van Groningen) |
---|
493 | |
---|
494 | * SOLR-3446: Better errors when PatternTokenizerFactory is configured with |
---|
495 | an invalid pattern, and include the 'name' whenever possible in plugin init |
---|
496 | error messages. (hossman) |
---|
497 | |
---|
498 | * LUCENE-4075: Cleaner path usage in TestXPathEntityProcessor |
---|
499 | (Greg Bowyer via hossman) |
---|
500 | |
---|
501 | * SOLR-2923: IllegalArgumentException when using useFilterForSortedQuery on an |
---|
502 | empty index. (Adrien Grand via Mark Miller) |
---|
503 | |
---|
504 | * SOLR-2352: Fixed TermVectorComponent so that it will not fail if the fl |
---|
505 | param contains globs or psuedo-fields (hossman) |
---|
506 | |
---|
507 | * SOLR-3541: add missing solrj dependencies to binary packages. |
---|
508 | (Thijs Vonk via siren) |
---|
509 | |
---|
510 | * SOLR-3522: fixed parsing of the 'literal()' function (hossman) |
---|
511 | |
---|
512 | * SOLR-3548: Fixed a bug in the cachability of queries using the {!join} |
---|
513 | parser or the strdist() function, as well as some minor improvements to |
---|
514 | the hashCode implementation of {!bbox} and {!geofilt} queries. |
---|
515 | (hossman) |
---|
516 | |
---|
517 | Other Changes |
---|
518 | ---------------------- |
---|
519 | |
---|
520 | * SOLR-1846: Eliminate support for the abortOnConfigurationError |
---|
521 | option. It has never worked very well, and in recent versions of |
---|
522 | Solr hasn't worked at all. (hossman) |
---|
523 | |
---|
524 | * SOLR-1889: The default logic for the 'mm' param of DismaxQParser and |
---|
525 | ExtendedDismaxQParser has been changed to be determined based on the |
---|
526 | effective value of the 'q.op' param (hossman) |
---|
527 | |
---|
528 | * SOLR-1946: Misc improvements to the SystemInfoHandler: /admin/system |
---|
529 | (hossman) |
---|
530 | |
---|
531 | * SOLR-2289: Tweak spatial coords for example docs so they are a bit |
---|
532 | more spread out (Erick Erickson via hossman) |
---|
533 | |
---|
534 | * SOLR-2288: Small tweaks to eliminate compiler warnings. primarily |
---|
535 | using Generics where applicable in method/object declatations, and |
---|
536 | adding @SuppressWarnings("unchecked") when appropriate (hossman) |
---|
537 | |
---|
538 | * SOLR-2375: Suggester Lookup implementations now store trie data |
---|
539 | and load it back on init. This means that large tries don't have to be |
---|
540 | rebuilt on every commit or core reload. (ab) |
---|
541 | |
---|
542 | * SOLR-2413: Support for returning multi-valued fields w/o <arr> tag |
---|
543 | in the XMLResponseWriter was removed. XMLResponseWriter only |
---|
544 | no longer work with values less then 2.2 (ryan) |
---|
545 | |
---|
546 | * SOLR-2423: FieldType argument changed from String to Object |
---|
547 | Conversion from SolrInputDocument > Object > Fieldable is now managed |
---|
548 | by FieldType rather then DocumentBuilder. (ryan) |
---|
549 | |
---|
550 | * SOLR-2461: QuerySenderListener and AbstractSolrEventListener are |
---|
551 | now public (hossman) |
---|
552 | |
---|
553 | * LUCENE-2995: Moved some spellchecker and suggest APIs to modules/suggest: |
---|
554 | HighFrequencyDictionary, SortedIterator, TermFreqIterator, and the |
---|
555 | suggester APIs and implementations. (rmuir) |
---|
556 | |
---|
557 | * SOLR-2576: Remove deprecated SpellingResult.add(Token, int). |
---|
558 | (James Dyer via rmuir) |
---|
559 | |
---|
560 | * LUCENE-3232: Moved MutableValue classes to new 'common' module. (Chris Male) |
---|
561 | |
---|
562 | * LUCENE-2883: FunctionQuery, DocValues (and its impls), ValueSource (and its |
---|
563 | impls) and BoostedQuery have been consolidated into the queries module. They |
---|
564 | can now be found at o.a.l.queries.function. |
---|
565 | |
---|
566 | * SOLR-2027: FacetField.getValues() now returns an empty list if there are no |
---|
567 | values, instead of null (Chris Male) |
---|
568 | |
---|
569 | * SOLR-1825: SolrQuery.addFacetQuery now enables facets automatically, like |
---|
570 | addFacetField (Chris Male) |
---|
571 | |
---|
572 | * SOLR-2663: FieldTypePluginLoader has been refactored out of IndexSchema |
---|
573 | and made public. (hossman) |
---|
574 | |
---|
575 | * SOLR-2331,SOLR-2691: Refactor CoreContainer's SolrXML serialization code and improve testing |
---|
576 | (Yury Kats, hossman, Mark Miller) |
---|
577 | |
---|
578 | * SOLR-2698: Enhance CoreAdmin STATUS command to return index size. |
---|
579 | (Yury Kats, hossman, Mark Miller) |
---|
580 | |
---|
581 | * SOLR-2654: The same Directory instance is now always used across a SolrCore so that |
---|
582 | it's easier to add other DirectoryFactory's without static caching hacks. |
---|
583 | (Mark Miller) |
---|
584 | |
---|
585 | * LUCENE-3286: 'luke' ant target has been disabled due to incompatibilities with XML |
---|
586 | queryparser location (Chris Male) |
---|
587 | |
---|
588 | * SOLR-1897: The data dir from the core descriptor should override the data dir from |
---|
589 | the solrconfig.xml rather than the other way round. (Mark Miller) |
---|
590 | |
---|
591 | * SOLR-2756: Maven configuration: Excluded transitive stax:stax-api dependency |
---|
592 | from org.codehaus.woodstox:wstx-asl dependency. (David Smiley via Steve Rowe) |
---|
593 | |
---|
594 | * SOLR-2588: Moved VelocityResponseWriter back to contrib module in order to |
---|
595 | remove it as a mandatory core dependency. (ehatcher) |
---|
596 | |
---|
597 | * SOLR-2862: More explicit lexical resources location logged if Carrot2 clustering |
---|
598 | extension is used. Fixed solr. impl. of IResource and IResourceLookup. (Dawid Weiss) |
---|
599 | |
---|
600 | * SOLR-1123: Changed JSONResponseWriter to now use application/json as its Content-Type |
---|
601 | by default. However the Content-Type can be overwritten and is set to text/plain in |
---|
602 | the example configuration. (Uri Boness, Chris Male) |
---|
603 | |
---|
604 | * SOLR-2607: Removed deprecated client/ruby directory, which included solr-ruby and flare. |
---|
605 | (ehatcher) |
---|
606 | |
---|
607 | * Solr-3032: logOnce from SolrException logOnce and all the supporting |
---|
608 | structure is gone. abortOnConfugrationError is also gone as it is no longer referenced. |
---|
609 | Errors should be caught and logged at the top-most level or logged and NOT propagated up the |
---|
610 | chain. (Erick Erickson) |
---|
611 | |
---|
612 | * SOLR-2105: Remove support for deprecated "update.processor" (since 3.2), in favor of |
---|
613 | "update.chain" (janhoy) |
---|
614 | |
---|
615 | * SOLR-3005: Default QueryResponseWriters are now initialized via init() with an empty |
---|
616 | NamedList. (Gasol Wu, Chris Male) |
---|
617 | |
---|
618 | * SOLR-2607: Removed obsolete client/ folder (ehatcher, Eric Pugh, janhoy) |
---|
619 | |
---|
620 | * SOLR-3202, SOLR-3244: Dropping Support for JSP. New Admin UI is all client side |
---|
621 | (ryan, Aliaksandr Zhuhrou, Uwe Schindler) |
---|
622 | |
---|
623 | * SOLR-3159: Upgrade example and tests to run with Jetty 8 (ryan) |
---|
624 | |
---|
625 | * SOLR-3254: Upgrade Solr to Tika 1.1 (janhoy) |
---|
626 | |
---|
627 | * SOLR-3329: Dropped getSourceID() from SolrInfoMBean and using |
---|
628 | getClass().getPackage().getSpecificationVersion() for Version. (ryan) |
---|
629 | |
---|
630 | * SOLR-3302: Upgraded SLF4j to version 1.6.4 (hossman) |
---|
631 | |
---|
632 | * SOLR-3322: Add more context to IndexReaderFactory.newReader (ab) |
---|
633 | |
---|
634 | * SOLR-3343: Moved FastWriter, FileUtils, RegexFileFilter, RTimer and SystemIdResolver |
---|
635 | from org.apache.solr.common to org.apache.solr.util (Chris Male) |
---|
636 | |
---|
637 | * SOLR-3357: ResourceLoader.newInstance now accepts a Class representation of the expected |
---|
638 | instance type (Chris Male) |
---|
639 | |
---|
640 | * SOLR-3388: HTTP caching is now disabled by default for RequestUpdateHandlers. (ryan) |
---|
641 | |
---|
642 | * SOLR-3309: web.xml now specifies metadata-complete=true (which requires |
---|
643 | Servlet 2.5) to prevent servlet containers from scanning class annotations |
---|
644 | on startup. This allows for faster startup times on some servlet containers. |
---|
645 | (Bill Bell, hossman) |
---|
646 | |
---|
647 | * SOLR-1893: Refactored some common code from LRUCache and FastLRUCache into |
---|
648 | SolrCacheBase (Tomás Fernández Löbbe via hossman) |
---|
649 | |
---|
650 | * SOLR-3403: Deprecated Analysis Factories now log their own deprecation messages. |
---|
651 | No logging support is provided by Factory parent classes. (Chris Male) |
---|
652 | |
---|
653 | * SOLR-1258: PingRequestHandler is now directly configured with a |
---|
654 | "healthcheckFile" instead of looking for the legacy |
---|
655 | <admin><healthcheck/></admin> syntax. Filenames specified as relative |
---|
656 | paths have been fixed so that they are resolved against the data dir |
---|
657 | instead of the CWD of the java process. (hossman) |
---|
658 | |
---|
659 | * SOLR-3083: JMX beans now report Numbers as numeric values rather then String |
---|
660 | (Tagged Siteops, Greg Bowyer via ryan) |
---|
661 | |
---|
662 | * SOLR-2796: Due to low level changes to support SolrCloud, the uniqueKey |
---|
663 | field can no longer be populated via <copyField/> or <field default=...> |
---|
664 | in the schema.xml. |
---|
665 | |
---|
666 | * SOLR-3534: The Dismax and eDismax query parsers will fall back on the 'df' parameter |
---|
667 | when 'qf' is absent. And if neither is present nor the schema default search field |
---|
668 | then an exception will be thrown now. (dsmiley) |
---|
669 | |
---|
670 | Documentation |
---|
671 | ---------------------- |
---|
672 | |
---|
673 | * SOLR-2232: Improved README info on solr.solr.home in examples |
---|
674 | (Eric Pugh and hossman) |
---|
675 | |
---|
676 | ================== 3.6.0 ================== |
---|
677 | |
---|
678 | Upgrading from Solr 3.5 |
---|
679 | ---------------------- |
---|
680 | * SOLR-2983: As a consequence of moving the code which sets a MergePolicy from SolrIndexWriter to SolrIndexConfig, |
---|
681 | (custom) MergePolicies should now have an empty constructor; thus an IndexWriter should not be passed as constructor |
---|
682 | parameter but instead set using the setIndexWriter() method. |
---|
683 | |
---|
684 | * As doGet() methods in SimplePostTool was changed to static, the client applications of this |
---|
685 | class need to be recompiled. |
---|
686 | |
---|
687 | * In Solr version 3.5 and earlier, HTMLStripCharFilter had known bugs in the |
---|
688 | character offsets it provided, triggering e.g. exceptions in highlighting. |
---|
689 | HTMLStripCharFilter has been re-implemented, addressing this and other |
---|
690 | issues. See the entry for LUCENE-3690 in the Bug Fixes section below for a |
---|
691 | detailed list of changes. For people who depend on the behavior of |
---|
692 | HTMLStripCharFilter in Solr version 3.5 and earlier: the old implementation |
---|
693 | (bugs and all) is preserved as LegacyHTMLStripCharFilter. |
---|
694 | |
---|
695 | * As of Solr 3.6, the <indexDefaults> and <mainIndex> sections of solrconfig.xml are deprecated |
---|
696 | and replaced with a new <indexConfig> section. Read more in SOLR-1052 below. |
---|
697 | |
---|
698 | * SOLR-3040: The DIH's admin UI (dataimport.jsp) now requires DIH request handlers to start with |
---|
699 | a '/'. (dsmiley) |
---|
700 | |
---|
701 | * SOLR-3161: <requestDispatcher handleSelect="false"> is now the default. An existing config will |
---|
702 | probably work as-is because handleSelect was explicitly enabled in default configs. HandleSelect |
---|
703 | makes /select work as well as enables the 'qt' parameter. Instead, consider explicitly |
---|
704 | configuring /select as is done in the example solrconfig.xml, and register your other search |
---|
705 | handlers with a leading '/' which is a recommended practice. (David Smiley, Erik Hatcher) |
---|
706 | |
---|
707 | * SOLR-3161: Don't use the 'qt' parameter with a leading '/'. It probably won't work in 4.0 |
---|
708 | and it's now limited in 3.6 to SearchHandler subclasses that aren't lazy-loaded. |
---|
709 | |
---|
710 | * Bugs found and fixed in the SignatureUpdateProcessor that previously caused |
---|
711 | some documents to produce the same signature even when the configured fields |
---|
712 | contained distinct (non-String) values. Users of SignatureUpdateProcessor |
---|
713 | are strongly advised that they should re-index as document signatures may |
---|
714 | have now changed. (see SOLR-3200 & SOLR-3226 for details) |
---|
715 | |
---|
716 | * SOLR-2724: Specifying <defaultSearchField> and <solrQueryParser defaultOperator="..."/> in |
---|
717 | schema.xml is now considered deprecated. Instead you are encouraged to specify these via the "df" |
---|
718 | and "q.op" parameters in your request handler definition. (David Smiley) |
---|
719 | |
---|
720 | New Features |
---|
721 | ---------------------- |
---|
722 | * SOLR-2020: Add Java client that uses Apache Http Components http client (4.x). |
---|
723 | (Chantal Ackermann, Ryan McKinley, Yonik Seeley, siren) |
---|
724 | |
---|
725 | * SOLR-2854: Now load URL content stream data (via stream.url) when called for during request handling, |
---|
726 | rather than loading URL content streams automatically regardless of use. |
---|
727 | (David Smiley and Ryan McKinley via ehatcher) |
---|
728 | |
---|
729 | * SOLR-2904: BinaryUpdateRequestHandler should be able to accept multiple update requests from |
---|
730 | a stream (shalin) |
---|
731 | |
---|
732 | * SOLR-1565: StreamingUpdateSolrServer supports RequestWriter API and therefore, javabin update |
---|
733 | format (shalin) |
---|
734 | |
---|
735 | * SOLR-2438 added MultiTermAwareComponent to the various classes to allow automatic lowercasing |
---|
736 | for multiterm queries (wildcards, regex, prefix, range, etc). You can now optionally specify a |
---|
737 | "multiterm" analyzer in our schema.xml, but Solr should "do the right thing" if you don't |
---|
738 | specify <analyzer type="multiterm"> (Pete Sturge Erick Erickson, Mentoring from Seeley and Muir) |
---|
739 | |
---|
740 | * SOLR-2919: Added support for localized range queries when the analysis chain uses |
---|
741 | CollationKeyFilter or ICUCollationKeyFilter. (Michael Sokolov, rmuir) |
---|
742 | |
---|
743 | * SOLR-2982: Added BeiderMorseFilterFactory for Beider-Morse (BMPM) phonetic encoder. Upgrades |
---|
744 | commons-codec to version 1.6 (Brooke Schreier Ganz, rmuir) |
---|
745 | |
---|
746 | * SOLR-1843: A new "rootName" attribute is now available when |
---|
747 | configuring <jmx/> in solrconfig.xml. If this attribute is set, |
---|
748 | Solr will use it as the root name for all MBeans Solr exposes via |
---|
749 | JMX. The default root name is "solr" followed by the core name. |
---|
750 | (Constantijn Visinescu, hossman) |
---|
751 | |
---|
752 | * SOLR-2906: Added LFU cache options to Solr. (Shawn Heisey via Erick Erickson) |
---|
753 | |
---|
754 | * SOLR-3036: Ability to specify overwrite=false on the URL for XML updates. |
---|
755 | (Sami Siren via yonik) |
---|
756 | |
---|
757 | * SOLR-2603: Add the encoding function for alternate fields in highlighting. |
---|
758 | (Massimo Schiavon, koji) |
---|
759 | |
---|
760 | * SOLR-1729: Evaluation of NOW for date math is done only once per request for |
---|
761 | consistency, and is also propagated to shards in distributed search. |
---|
762 | Adding a parameter NOW=<time_in_ms> to the request will override the |
---|
763 | current time. (Peter Sturge, yonik, Simon Willnauer) |
---|
764 | |
---|
765 | * SOLR-1709: Distributed support for Date and Numeric Range Faceting |
---|
766 | (Peter Sturge, David Smiley, hossman, Simon Willnauer) |
---|
767 | |
---|
768 | * SOLR-3054, LUCENE-3671: Add TypeTokenFilterFactory that creates TypeTokenFilter |
---|
769 | that filters tokens based on their TypeAttribute. (Tommaso Teofili via |
---|
770 | Uwe Schindler) |
---|
771 | |
---|
772 | * LUCENE-3305, SOLR-3056: Added Kuromoji morphological analyzer for Japanese. |
---|
773 | See the 'text_ja' fieldtype in the example to get started. |
---|
774 | (Christian Moen, Masaru Hasegawa via Robert Muir) |
---|
775 | |
---|
776 | * SOLR-1860: StopFilterFactory, CommonGramsFilterFactory, and |
---|
777 | CommonGramsQueryFilterFactory can optionally read stopwords in Snowball |
---|
778 | format (specify format="snowball"). (Robert Muir) |
---|
779 | |
---|
780 | * SOLR-3105: ElisionFilterFactory optionally allows the parameter |
---|
781 | ignoreCase (default=false). (Robert Muir) |
---|
782 | |
---|
783 | * LUCENE-3714: Add WFSTLookupFactory, a suggester that uses a weighted FST |
---|
784 | for more fine-grained suggestions. (Mike McCandless, Dawid Weiss, Robert Muir) |
---|
785 | |
---|
786 | * SOLR-3143: Add SuggestQueryConverter, a QueryConverter intended for |
---|
787 | auto-suggesters. (Robert Muir) |
---|
788 | |
---|
789 | * SOLR-3033: ReplicationHandler's backup command now supports a 'maxNumberOfBackups' |
---|
790 | init param that can be used to delete all but the most recent N backups. (Torsten Krah, James Dyer) |
---|
791 | |
---|
792 | * SOLR-2202: Currency FieldType, whith support for currencies and exchange rates |
---|
793 | (Greg Fodor & Andrew Morrison via janhoy, rmuir, Uwe Schindler) |
---|
794 | |
---|
795 | * SOLR-3026: eDismax: Locking down which fields can be explicitly queried (user fields aka uf) |
---|
796 | (janhoy, hossmann, Tomás Fernández Löbbe) |
---|
797 | |
---|
798 | * SOLR-2826: URLClassify Update Processor (janhoy) |
---|
799 | |
---|
800 | * SOLR-2764: Create a NorwegianLightStemmer and NorwegianMinimalStemmer (janhoy) |
---|
801 | |
---|
802 | * SOLR-3221: Added the ability to directly configure aspects of the concurrency |
---|
803 | and thread-pooling used within distributed search in solr. This allows for finer |
---|
804 | grained controlled and can be tuned by end users to target their own specific |
---|
805 | requirements. This builds on the work of the HttpCommComponent and uses the same configuration |
---|
806 | block to configure the thread pool. The default configuration has |
---|
807 | the same behaviour as solr 3.5, favouring throughput over latency. More |
---|
808 | information can be found on the wiki (http://wiki.apache.org/solr/SolrConfigXml) (Greg Bowyer) |
---|
809 | |
---|
810 | * SOLR-2001: The query component will substitute an empty query that matches |
---|
811 | no documents if the query parser returns null. This also prevents an |
---|
812 | exception from being thrown by the default parser if "q" is missing. (yonik) |
---|
813 | SOLR-435: if q is "" then it's also acceptable. (dsmiley, hoss) |
---|
814 | |
---|
815 | Optimizations |
---|
816 | ---------------------- |
---|
817 | * SOLR-1931: Speedup for LukeRequestHandler and admin/schema browser. New parameter |
---|
818 | reportDocCount defaults to 'false'. Old behavior still possible by specifying this as 'true' |
---|
819 | (Erick Erickson) |
---|
820 | |
---|
821 | * SOLR-3012: Move System.getProperty("type") in postData() to main() and add type argument so that |
---|
822 | the client applications of SimplePostTool can set content type via method argument. (koji) |
---|
823 | |
---|
824 | * SOLR-2888: FSTSuggester refactoring: internal storage is now UTF-8, |
---|
825 | external sorting (on disk) prevents OOMs even with large data sets |
---|
826 | (the bottleneck is now FST construction), code cleanups and API cleanups. |
---|
827 | (Dawid Weiss, Robert Muir) |
---|
828 | |
---|
829 | Bug Fixes |
---|
830 | ---------------------- |
---|
831 | * SOLR-3187 SystemInfoHandler leaks filehandles (siren) |
---|
832 | |
---|
833 | * LUCENE-3820: Fixed invalid position indexes by reimplementing PatternReplaceCharFilter. |
---|
834 | This change also drops real support for boundary characters -- all input is prebuffered |
---|
835 | for pattern matching. (Dawid Weiss) |
---|
836 | |
---|
837 | * SOLR-3068: Fixed NPE in ThreadDumpHandler (siren) |
---|
838 | |
---|
839 | * SOLR-2912: Fixed File descriptor leak in ShowFileRequestHandler (Michael Ryan, shalin) |
---|
840 | |
---|
841 | * SOLR-2819: Improved speed of parsing hex entities in HTMLStripCharFilter |
---|
842 | (Bernhard Berger, hossman) |
---|
843 | |
---|
844 | * SOLR-2509: StringIndexOutOfBoundsException in the spellchecker collate when the term contains |
---|
845 | a hyphen. (Thomas Gambier caught the bug, Steffen Godskesen did the patch, via Erick Erickson) |
---|
846 | |
---|
847 | * SOLR-2955: Fixed IllegalStateException when querying with group.sort=score desc in sharded |
---|
848 | environment. (Steffen Elberg Godskesen, Martijn van Groningen) |
---|
849 | |
---|
850 | * SOLR-2956: Fixed inconsistencies in the flags (and flag key) reported by |
---|
851 | the LukeRequestHandler (hossman) |
---|
852 | |
---|
853 | * SOLR-1730: Made it clearer when a core failed to load as well as better logging when the |
---|
854 | QueryElevationComponent fails to properly initialize (gsingers) |
---|
855 | |
---|
856 | * SOLR-1520: QueryElevationComponent now supports non-string ids (gsingers) |
---|
857 | |
---|
858 | * SOLR-3024: Fixed JSONTestUtil.matchObj, in previous releases it was not |
---|
859 | respecting the 'delta' arg (David Smiley via hossman) |
---|
860 | |
---|
861 | * SOLR-2542: Fixed DIH Context variables which were broken for all scopes other |
---|
862 | then SCOPE_ENTITY (Linbin Chen & Frank Wesemann via hossman) |
---|
863 | |
---|
864 | * SOLR-3042: Fixed Maven Jetty plugin configuration. |
---|
865 | (David Smiley via Steve Rowe) |
---|
866 | |
---|
867 | * SOLR-2970: CSV ResponseWriter returns fields defined as stored=false in schema (janhoy) |
---|
868 | |
---|
869 | * LUCENE-3690, LUCENE-2208, SOLR-882, SOLR-42: Re-implemented |
---|
870 | HTMLStripCharFilter as a JFlex-generated scanner. See below for a list |
---|
871 | of bug fixes and other changes. To get the same behavior as |
---|
872 | HTMLStripCharFilter in Solr version 3.5 and earlier (including the bugs), |
---|
873 | use LegacyHTMLStripCharFilter, which is the previous implementation. |
---|
874 | |
---|
875 | Behavior changes from the previous version: |
---|
876 | |
---|
877 | - Known offset bugs are fixed. |
---|
878 | - The "Mark invalid" exceptions reported in SOLR-1283 are no longer |
---|
879 | triggered (the bug is still present in LegacyHTMLStripCharFilter). |
---|
880 | - The character entity "'" is now always properly decoded. |
---|
881 | - More cases of <script> tags are now properly stripped. |
---|
882 | - CDATA sections are now handled properly. |
---|
883 | - Valid tag name characters now include the supplementary Unicode characters |
---|
884 | from Unicode character classes [:ID_Start:] and [:ID_Continue:]. |
---|
885 | - Uppercase character entities """, "©", ">", "<", "®", |
---|
886 | and "&" are now recognized and handled as if they were in lowercase. |
---|
887 | - The REPLACEMENT CHARACTER U+FFFD is now used to replace numeric character |
---|
888 | entities for unpaired UTF-16 low and high surrogates (in the range |
---|
889 | [U+D800-U+DFFF]). |
---|
890 | - Properly paired numeric character entities for UTF-16 surrogates are now |
---|
891 | converted to the corresponding code units. |
---|
892 | - Opening tags with unbalanced quotation marks are now properly stripped. |
---|
893 | - Literal "<" and ">" characters in opening tags, regardless of whether they |
---|
894 | appear inside quotation marks, now inhibit recognition (and stripping) of |
---|
895 | the tags. The only exception to this is for values of event-handler |
---|
896 | attributes, e.g. "onClick", "onLoad", "onSelect". |
---|
897 | - A newline '\n' is substituted instead of a space for stripped HTML markup. |
---|
898 | - Nothing is substituted for opening and closing inline tags - they are |
---|
899 | simply removed. The list of inline tags is (case insensitively): <a>, |
---|
900 | <abbr>, <acronym>, <b>, <basefont>, <bdo>, <big>, <cite>, <code>, <dfn>, |
---|
901 | <em>, <font>, <i>, <img>, <input>, <kbd>, <label>, <q>, <s>, <samp>, |
---|
902 | <select>, <small>, <span>, <strike>, <strong>, <sub>, <sup>, <textarea>, |
---|
903 | <tt>, <u>, and <var>. |
---|
904 | - HTMLStripCharFilterFactory now handles HTMLStripCharFilter's "escapedTags" |
---|
905 | feature: opening and closing tags with the given names, including any |
---|
906 | attributes and their values, are left intact in the output. |
---|
907 | (Steve Rowe) |
---|
908 | |
---|
909 | * LUCENE-3717: Fixed offset bugs in TrimFilter, WordDelimiterFilter, and |
---|
910 | HyphenatedWordsFilter where they would create invalid offsets in |
---|
911 | some situations, leading to problems in highlighting. (Robert Muir) |
---|
912 | |
---|
913 | * SOLR-2280: commitWithin ignored for a delete query (Juan Grande via janhoy) |
---|
914 | |
---|
915 | * SOLR-3073: Fixed 'Invalid UUID string' error when having an UUID field as |
---|
916 | the unique key and executing a distributed grouping request. (Devon Krisman, Martijn van Groningen) |
---|
917 | |
---|
918 | * SOLR-3084: Fixed initialization error when using |
---|
919 | <queryResponseWriter default="true" ... /> (Bernd Fehling and hossman) |
---|
920 | |
---|
921 | * SOLR-3109: Fixed numerous redundant shard requests when using distributed grouping. |
---|
922 | (rblack via Martijn van Groningen) |
---|
923 | |
---|
924 | * SOLR-3052: Fixed typo in distributed grouping parameters. |
---|
925 | (Martijn van Groningen, Grant Ingersoll) |
---|
926 | |
---|
927 | * SOLR-2909: Add support for ResourceLoaderAware tokenizerFactories in synonym |
---|
928 | filter factories. (Tom Klonikowski, Jun Ohtani via Koji Sekiguchi) |
---|
929 | |
---|
930 | * SOLR-3168: ReplicationHandler "numberToKeep" & "maxNumberOfBackups" parameters |
---|
931 | would keep only 1 backup, even if more than 1 was specified (Neil Hooey, James Dyer) |
---|
932 | |
---|
933 | * SOLR-3009: hitGrouped.vm isn't shipped with 3.x (ehatcher, janhoy) |
---|
934 | |
---|
935 | * SOLR-3195: timeAllowed is ignored for grouping queries |
---|
936 | (Russell Black via Martijn van Groningen) |
---|
937 | |
---|
938 | * SOLR-2124: Do not log stack traces for "Service Disabled" / 503 Exceptions (PingRequestHandler, etc) |
---|
939 | (James Dyer, others) |
---|
940 | |
---|
941 | * SOLR-3260: DataImportHandler: ScriptTransformer gives better error messages when |
---|
942 | problems arise on initalization (no Script Engine, invalid script, etc). (James Dyer) |
---|
943 | |
---|
944 | * SOLR-2959: edismax now respects the magic fields '_val_' and '_query_' |
---|
945 | (Michael Watts, hossman) |
---|
946 | |
---|
947 | * SOLR-3074: fix SolrPluginUtils.docListToSolrDocumentList to respect the |
---|
948 | list of fields specified. This fix also deprecates |
---|
949 | DocumentBuilder.loadStoredFields which is not used anywhere in Solr, |
---|
950 | and was fundamentally broken/bizarre. |
---|
951 | (hossman, Ahmet Arslan) |
---|
952 | |
---|
953 | * SOLR-3264: Fix CoreContainer and SolrResourceLoader logging to be more |
---|
954 | clear about when SolrCores are being created, and stop misleading people |
---|
955 | about SolrCore instanceDir's being the "Solr Home Dir" (hossman) |
---|
956 | |
---|
957 | * SOLR-3046: Fix whitespace typo in DIH response "Time taken" (hossman) |
---|
958 | |
---|
959 | * SOLR-3261: Fix edismax to respect query operators when literal colons |
---|
960 | are used in query string. (Juan Grande via hossman) |
---|
961 | |
---|
962 | * SOLR-3226: Fix SignatureUpdateProcessor to no longer ignore non-String |
---|
963 | field values (Spyros Kapnissis, hossman) |
---|
964 | |
---|
965 | * SOLR-3200: Fix SignatureUpdateProcessor "all fields" mode to use all |
---|
966 | fields of each document instead of the fields specified by the first |
---|
967 | document indexed (Spyros Kapnissis via hossman) |
---|
968 | |
---|
969 | * SOLR-3316: Distributed grouping failed when rows parameter was set to 0 and sometimes returned a wrong |
---|
970 | hit count as matches. (Cody Young, Martijn van Groningen) |
---|
971 | |
---|
972 | Other Changes |
---|
973 | ---------------------- |
---|
974 | * SOLR-2922: Upgrade commons-io and commons-lang to 2.1 and 2.6, respectively. (koji) |
---|
975 | |
---|
976 | * SOLR-2920: Refactor frequent conditional use of DefaultSolrParams and |
---|
977 | AppendedSolrParams into factory methods. |
---|
978 | (David Smiley via hossman) |
---|
979 | |
---|
980 | * SOLR-3032: Deprecate logOnce from SolrException logOnce and all the supporting |
---|
981 | structure will disappear in 4.0. Errors should be caught and logged at the |
---|
982 | top-most level or logged and NOT propagated up the chain. (Erick Erickson) |
---|
983 | |
---|
984 | * SOLR-2718: Add ability to lazy load response writers, defined with startup="lazy". |
---|
985 | (ehatcher) |
---|
986 | |
---|
987 | * SOLR-2901: Upgrade Solr to Tika 1.0 (janhoy) |
---|
988 | |
---|
989 | * SOLR-3059: Example XSL stylesheet for indexing query result XML (janhoy) |
---|
990 | |
---|
991 | * SOLR-3097, SOLR-3105: Add analysis configurations for different languages to |
---|
992 | the example. (Christian Moen, Robert Muir) |
---|
993 | |
---|
994 | * SOLR-3005: Default QueryResponseWriters are now initialized via init() with an empty |
---|
995 | NamedList. (Gasol Wu, Chris Male) |
---|
996 | |
---|
997 | * SOLR-3140: Upgrade schema version to 1.5, where omitNorms defaults to "true" for all |
---|
998 | primitive (non-analyzed) field types such as int, float, date, bool, string.. (janhoy) |
---|
999 | |
---|
1000 | * SOLR-3077: Better error messages when attempting to use "blank" field names |
---|
1001 | (Antony Stubbs via hossman) |
---|
1002 | |
---|
1003 | * SOLR-2712: expecting fl=score to return all fields is now deprecated. |
---|
1004 | In solr 4.0, this will only return the score. (ryan) |
---|
1005 | |
---|
1006 | * SOLR-3156: Check for Lucene directory locks at startup. In previous versions |
---|
1007 | this check was only performed during modifying (e.g. adding and deleting |
---|
1008 | documents) the index. (Luca Cavanna via Martijn van Groningen) |
---|
1009 | |
---|
1010 | * SOLR-1052: Deprecated <indexDefaults> and <mainIndex> in solrconfig.xml |
---|
1011 | From now, all settings go in the new <indexConfig> tag, and some defaults are |
---|
1012 | changed: useCompoundFile=false, ramBufferSizeMB=32, lockType=native, so that |
---|
1013 | the effect of NOT specifying <indexConfig> at all gives same result as the |
---|
1014 | example config used to give in 3.5 (janhoy, gsingers) |
---|
1015 | |
---|
1016 | Build |
---|
1017 | ---------------------- |
---|
1018 | * SOLR-2487: Add build target to package war without slf4j jars (janhoy) |
---|
1019 | |
---|
1020 | * SOLR-3112: Fix tests not to write to src/test-files (Luca Cavanna via Robert Muir) |
---|
1021 | |
---|
1022 | * LUCENE-3753: Restructure the Solr build system. (Steve Rowe) |
---|
1023 | |
---|
1024 | * SOLR-3204: The packaged pre-release artifact of Commons CSV used the original |
---|
1025 | package name (org.apache.commons.csv). This created a compatibility issue as |
---|
1026 | the Apache Commons team works toward an official release of Commons CSV. |
---|
1027 | The source of Commons CSV was added under a separate package name to the |
---|
1028 | Solr source code. (Uwe Schindler, Chris Male, Emmanuel Bourg) |
---|
1029 | |
---|
1030 | * LUCENE-3930: Changed build system to use Apache Ivy for retrival of 3rd |
---|
1031 | party JAR files. Please review README.txt for instructions. |
---|
1032 | (Robert Muir, Chris Male, Uwe Schindler, Steven Rowe, Hossman) |
---|
1033 | |
---|
1034 | ================== 3.5.0 ================== |
---|
1035 | |
---|
1036 | New Features |
---|
1037 | ---------------------- |
---|
1038 | * SOLR-2749: Add boundary scanners for FastVectorHighlighter. <boundaryScanner/> |
---|
1039 | can be specified with a name in solrconfig.xml, and use hl.boundaryScanner=name |
---|
1040 | parameter to specify the named <boundaryScanner/>. (koji) |
---|
1041 | |
---|
1042 | * SOLR-2066,SOLR-2776: Added support for distributed grouping. |
---|
1043 | (Martijn van Groningen, Jasper van Veghel, Matt Beaumont) |
---|
1044 | |
---|
1045 | * SOLR-2769: Added factory for the new Hunspell stemmer capable of doing stemming |
---|
1046 | for 99 languages (janhoy, cmale) |
---|
1047 | |
---|
1048 | * SOLR-1979: New contrib "langid". Adds language identification capabilities as an |
---|
1049 | Update Processor, using Tika's LanguageIdentifier or Cybozu language-detection |
---|
1050 | library (janhoy, Tommaso Teofili, gsingers) |
---|
1051 | |
---|
1052 | * SOLR-2818: Added before/after count response parsing support for range facets in |
---|
1053 | SolrJ. (Bernhard Frauendienst via Martijn van Groningen) |
---|
1054 | |
---|
1055 | * SOLR-2276: Add support for cologne phonetic to PhoneticFilterFactory. |
---|
1056 | (Marc Pompl via rmuir) |
---|
1057 | |
---|
1058 | * SOLR-1926: Add hl.q parameter. (koji) |
---|
1059 | |
---|
1060 | * SOLR-2881: Numeric types now support sortMissingFirst/Last. This includes Trie and date types |
---|
1061 | (Ryan McKinley, Mike McCandless, Uwe Schindler, Erick Erickson) |
---|
1062 | |
---|
1063 | * SOLR-1023: StatsComponent now supports date fields and string fields. |
---|
1064 | (Chris Male, Mark Holland, Gunnlaugur Thor Briem, Ryan McKinley) |
---|
1065 | |
---|
1066 | * SOLR-2578: ReplicationHandler's backup command now supports a 'numberToKeep' |
---|
1067 | request param that can be used to delete all but the most recent N backups. |
---|
1068 | (James Dyer via hossman) |
---|
1069 | |
---|
1070 | Optimizations |
---|
1071 | ---------------------- |
---|
1072 | |
---|
1073 | * SOLR-2742: SolrJ: Provide commitWithinMs as optional parameter for all add() methods, |
---|
1074 | making the feature more conveniently accessible for developers (janhoy) |
---|
1075 | |
---|
1076 | Bug Fixes |
---|
1077 | ---------------------- |
---|
1078 | * SOLR-2748: The CommitTracker used for commitWith or autoCommit by maxTime |
---|
1079 | could commit too frequently and could block adds until a new searcher was |
---|
1080 | registered. (yonik) |
---|
1081 | |
---|
1082 | * SOLR-2726: Fixed NullPointerException when using spellcheck.q with Suggester. |
---|
1083 | (Bernd Fehling, valentin via rmuir) |
---|
1084 | |
---|
1085 | * SOLR-2772: Fixed Date parsing/formatting of years 0001-1000 (hossman) |
---|
1086 | |
---|
1087 | * SOLR-2763: Extracting update request handler throws exception and returns 400 |
---|
1088 | when zero-length file posted using multipart form post (janhoy) |
---|
1089 | |
---|
1090 | * SOLR-2780: Fixed issue where multi select facets didn't respect group.truncate parameter. |
---|
1091 | (Martijn van Groningen, Ramzi Alqrainy) |
---|
1092 | |
---|
1093 | * SOLR-2793: In rare cases (most likely during shutdown), a SolrIndexSearcher can be left |
---|
1094 | open if the executor rejects a task. (Mark Miller) |
---|
1095 | |
---|
1096 | * SOLR-2791: Replication: abortfetch command is broken if replication was started |
---|
1097 | by fetchindex command instead of a regular poll (Yury Kats via shalin) |
---|
1098 | |
---|
1099 | * SOLR-2861: Fix extremely rare race condition on commit that can result |
---|
1100 | in a NPE (yonik) |
---|
1101 | |
---|
1102 | * SOLR-2813: Fix HTTP error codes returned when requests contain strings that |
---|
1103 | can not be parsed as numbers for Trie fields. (Jeff Crump and hossman) |
---|
1104 | |
---|
1105 | * SOLR-2902: List of collations are wrong parsed in SpellCheckResponse causing |
---|
1106 | a wrong number of collation results in the response. |
---|
1107 | (Bastiaan Verhoef, James Dyer via Simon Willnauer) |
---|
1108 | |
---|
1109 | Other Changes |
---|
1110 | ---------------------- |
---|
1111 | |
---|
1112 | * SOLR-2750: Make both "update.chain" and the deprecated "update.param" work |
---|
1113 | consistently everywhere; see also SOLR-2105. (Mark Miller, janhoy) |
---|
1114 | |
---|
1115 | * LUCENE-3410: Deprecated the WordDelimiterFilter constructors accepting multiple |
---|
1116 | ints masquerading as booleans. Preferred constructor now accepts a single int |
---|
1117 | bitfield (Chris Male) |
---|
1118 | |
---|
1119 | * SOLR-2758: Moved ConcurrentLRUCache from o.a.s.common.util package in the solrj |
---|
1120 | module to the o.a.s.util package in the Solr core module. |
---|
1121 | (David Smiley via Steve Rowe) |
---|
1122 | |
---|
1123 | * SOLR-2766: Package individual javadoc sites for solrj and test-framework. |
---|
1124 | (Steve Rowe, Mike McCandless) |
---|
1125 | |
---|
1126 | * SOLR-2771: Solr modules' tests should not depend on solr-core test classes; |
---|
1127 | move BufferingRequestProcessor from solr-core tests to test-framework so that |
---|
1128 | the Solr Cell module can use it. (janhoy, Steve Rowe) |
---|
1129 | |
---|
1130 | * LUCENE-3457: Upgrade commons-compress to 1.2 (Doron Cohen) |
---|
1131 | |
---|
1132 | * SOLR-2757: min() and max() functions now support an arbitrary number of |
---|
1133 | ValueSources (Bill Bell via hossman) |
---|
1134 | |
---|
1135 | * SOLR-2372: Upgrade Solr to Tika 0.10 (janhoy) |
---|
1136 | |
---|
1137 | * SOLR-2792: Allow case insensitive Hunspell stemming (janhoy, rmuir) |
---|
1138 | |
---|
1139 | * SOLR-2862: More explicit lexical resources location logged if Carrot2 clustering |
---|
1140 | extension is used. Fixed solr. impl. of IResource and IResourceLookup. (Dawid Weiss) |
---|
1141 | |
---|
1142 | * SOLR-2849: Fix dependencies in Maven POMs. (David Smiley via Steve Rowe) |
---|
1143 | |
---|
1144 | * SOLR-2591: Remove commitLockTimeout option from solrconfig.xml (Luca Cavanna via Martijn van Groningen) |
---|
1145 | |
---|
1146 | ================== 3.4.0 ================== |
---|
1147 | |
---|
1148 | Upgrading from Solr 3.3 |
---|
1149 | ---------------------- |
---|
1150 | |
---|
1151 | * The Lucene index format has changed and as a result, once you upgrade, |
---|
1152 | previous versions of Solr will no longer be able to read your indices. |
---|
1153 | In a master/slave configuration, all searchers/slaves should be upgraded |
---|
1154 | before the master. If the master were to be updated first, the older |
---|
1155 | searchers would not be able to read the new index format. |
---|
1156 | |
---|
1157 | * Previous versions of Solr silently allow and ignore some contradictory |
---|
1158 | properties specified in schema.xml. For example: |
---|
1159 | - indexed="false" omitNorms="false" |
---|
1160 | - indexed="false" omitTermFreqAndPositions="false" |
---|
1161 | Field property validation has now been fixed, to ensure that |
---|
1162 | contradictions like these now generate error messages. If users |
---|
1163 | have existing schemas that generate one of these new "conflicting |
---|
1164 | 'false' field options for non-indexed field" error messages the |
---|
1165 | conflicting "omit*" properties can safely be removed, or changed to |
---|
1166 | "true" for consistent behavior with previous Solr versions. This |
---|
1167 | situation has now been fixed to cause an error on startup when these |
---|
1168 | contradictory options. See SOLR-2669. |
---|
1169 | |
---|
1170 | * FacetComponent no longer catches and embeds exceptions occurred during facet |
---|
1171 | processing, it throws HTTP 400 or 500 exceptions instead. |
---|
1172 | |
---|
1173 | New Features |
---|
1174 | ---------------------- |
---|
1175 | |
---|
1176 | * SOLR-2540: CommitWithin as an Update Request parameter |
---|
1177 | You can now specify &commitWithin=N (ms) on the update request (janhoy) |
---|
1178 | |
---|
1179 | * SOLR-2458: post.jar enhanced to handle JSON, CSV and <optimize> (janhoy) |
---|
1180 | |
---|
1181 | * LUCENE-3234: add a new parameter hl.phraseLimit for FastVectorHighlighter speed up. |
---|
1182 | (Mike Sokolov via koji) |
---|
1183 | |
---|
1184 | * SOLR-2429: Ability to add cache=false to queries and query filters to avoid |
---|
1185 | using the filterCache or queryCache. A cost may also be specified and is used |
---|
1186 | to order the evaluation of non-cached filters from least to greatest cost . |
---|
1187 | For very expensive query filters (cost >= 100) if the query implements |
---|
1188 | the PostFilter interface, it will be used to obtain a Collector that is |
---|
1189 | checked only for documents that match the main query and all other filters. |
---|
1190 | The "frange" query now implements the PostFilter interface. (yonik) |
---|
1191 | |
---|
1192 | * SOLR-2630: Added new XsltUpdateRequestHandler that works like |
---|
1193 | XmlUpdateRequestHandler but allows to transform the POSTed XML document |
---|
1194 | using XSLT. This allows to POST arbitrary XML documents to the update |
---|
1195 | handler, as long as you also provide a XSL to transform them to a valid |
---|
1196 | Solr input document. (Upayavira, Uwe Schindler) |
---|
1197 | |
---|
1198 | * SOLR-2615: Log individual updates (adds and deletes) at the FINE level |
---|
1199 | before adding to the index. Fix a null pointer exception in logging |
---|
1200 | when there was no unique key. (David Smiley via yonik) |
---|
1201 | |
---|
1202 | * LUCENE-2048: Added omitPositions to the schema, so you can omit position |
---|
1203 | information while still indexing term frequencies. (rmuir) |
---|
1204 | |
---|
1205 | * SOLR-2584: add UniqFieldsUpdateProcessor that removes duplicate values in the |
---|
1206 | specified fields. (Elmer Garduno, koji) |
---|
1207 | |
---|
1208 | * SOLR-2670: Added NIOFSDirectoryFactory (yonik) |
---|
1209 | |
---|
1210 | * SOLR-2523: Added support in SolrJ to easily interact with range facets. |
---|
1211 | The range facet response can be parsed and is retrievable from the |
---|
1212 | QueryResponse class. The SolrQuery class has convenient methods for using |
---|
1213 | range facets. (Martijn van Groningen) |
---|
1214 | |
---|
1215 | * SOLR-2637: Added support for group result parsing in SolrJ. |
---|
1216 | (Tao Cheng, Martijn van Groningen) |
---|
1217 | |
---|
1218 | * SOLR-2665: Added post group faceting. Facet counts are based on the most |
---|
1219 | relevant document of each group matching the query. This feature has the |
---|
1220 | same impact on the StatsComponent. (Martijn van Groningen) |
---|
1221 | |
---|
1222 | * SOLR-2675: CoreAdminHandler now allows arbitrary properties to be |
---|
1223 | specified when CREATEing a new SolrCore using property.* request |
---|
1224 | params. (Yury Kats, hossman) |
---|
1225 | |
---|
1226 | * SOLR-2714: JSON update format - "null" field values are now dropped |
---|
1227 | instead of causing an exception. (Trygve LaugstÞl, yonik) |
---|
1228 | |
---|
1229 | |
---|
1230 | Optimizations |
---|
1231 | ---------------------- |
---|
1232 | |
---|
1233 | * LUCENE-3233: Improved memory usage, build time, and performance of |
---|
1234 | SynonymFilterFactory. (Mike McCandless, Robert Muir) |
---|
1235 | |
---|
1236 | Bug Fixes |
---|
1237 | ---------------------- |
---|
1238 | |
---|
1239 | * SOLR-2625: TermVectorComponent throws NPE if TF-IDF option is used without DF |
---|
1240 | option. (Daniel Erenrich, Simon Willnauer) |
---|
1241 | |
---|
1242 | * SOLR-2631: PingRequestHandler should not allow to ping itsself using "qt" |
---|
1243 | param to prevent infinite loop. (Edoardo Tosca, Uwe Schindler) |
---|
1244 | |
---|
1245 | * SOLR-2636: Fix explain functionality for negative queries. (Tom Hill via yonik) |
---|
1246 | |
---|
1247 | * SOLR-2538: Range Faceting on long/double fields could overflow if values |
---|
1248 | bigger then the max int/float were used. |
---|
1249 | (Erbi Hanka, hossman) |
---|
1250 | |
---|
1251 | * SOLR-2230: CommonsHttpSolrServer.addFile could not be used to send |
---|
1252 | multiple files in a single request. |
---|
1253 | (Stephan GÃŒnther, hossman) |
---|
1254 | |
---|
1255 | * SOLR-2541: PluginInfos was not correctly parsing <long/> tags when |
---|
1256 | initializing plugins |
---|
1257 | (Frank Wesemann, hossman) |
---|
1258 | |
---|
1259 | * SOLR-2623: Solr JMX MBeans do not survive core reloads (Alexey Serba, shalin) |
---|
1260 | |
---|
1261 | * Fixed grouping bug when start is bigger than rows and format is simple that zero documents are returned even |
---|
1262 | if there are documents to display. (Martijn van Groningen, Nikhil Chhaochharia) |
---|
1263 | |
---|
1264 | * SOLR-2564: Fixed ArrayIndexOutOfBoundsException when using simple format and |
---|
1265 | start > 0 (Martijn van Groningen, Matteo Melli) |
---|
1266 | |
---|
1267 | * SOLR-2642: Fixed sorting by function when using grouping. (Thomas Heigl, Martijn van Groningen) |
---|
1268 | |
---|
1269 | * SOLR-2535: REGRESSION: in Solr 3.x and trunk the admin/file handler |
---|
1270 | fails to show directory listings (David Smiley, Peter Wolanin via Erick Erickson) |
---|
1271 | |
---|
1272 | * SOLR-2545: ExternalFileField file parsing would fail if any key |
---|
1273 | contained an "=" character. It now only looks for the last "=" delimiter |
---|
1274 | prior to the float value. |
---|
1275 | (Markus Jelsma, hossman) |
---|
1276 | |
---|
1277 | * SOLR-2662: When Solr is configured to have no queryResultCache, the |
---|
1278 | "start" parameter was not honored and the documents returned were |
---|
1279 | 0 through start+offset. (Markus Jelsma, yonik) |
---|
1280 | |
---|
1281 | * SOLR-2669: Fix backwards validation of field properties in |
---|
1282 | SchemaField.calcProps (hossman) |
---|
1283 | |
---|
1284 | * SOLR-2676: Add "welcome-file-list" to solr.war so admin UI works correctly |
---|
1285 | in servlet containers such as WebSphere that do not use a default list |
---|
1286 | (Jay R. Jaeger, hossman) |
---|
1287 | |
---|
1288 | * SOLR-2606: Fixed sort parsing of fields containing punctuation that |
---|
1289 | failed due to sort by function changes introduced in SOLR-1297 |
---|
1290 | (Mitsu Hadeishi, hossman) |
---|
1291 | |
---|
1292 | Other Changes |
---|
1293 | ---------------------- |
---|
1294 | |
---|
1295 | * SOLR-2629: Eliminate deprecation warnings in some JSPs. |
---|
1296 | (Bernd Fehling, hossman) |
---|
1297 | |
---|
1298 | Build |
---|
1299 | ---------------------- |
---|
1300 | |
---|
1301 | * SOLR-2452,SOLR-2653,LUCENE-3323,SOLR-2659,LUCENE-3329,SOLR-2666: |
---|
1302 | Rewrote the Solr build system: |
---|
1303 | - Integrated more fully with the Lucene build system: generalized the |
---|
1304 | Lucene build system and eliminated duplication. |
---|
1305 | - Converted all Solr contribs to the Lucene/Solr conventional src/ layout: |
---|
1306 | java/, resources/, test/, and test-files/<contrib-name>. |
---|
1307 | - Created a new Solr-internal module named "core" by moving the java/, |
---|
1308 | test/, and test-files/ directories from solr/src/ to solr/core/src/. |
---|
1309 | - Merged solr/src/webapp/src/ into solr/core/src/java/. |
---|
1310 | - Eliminated solr/src/ by moving all its directories up one level; |
---|
1311 | renamed solr/src/site/ to solr/site-src/ because solr/site/ already |
---|
1312 | exists. |
---|
1313 | - Merged solr/src/common/ into solr/solrj/src/java/. |
---|
1314 | - Moved o.a.s.client.solrj.* and o.a.s.common.* tests from |
---|
1315 | solr/src/test/ to solr/solrj/src/test/. |
---|
1316 | - Made the solrj tests not depend on the solr core tests by moving |
---|
1317 | some classes from solr/src/test/ to solr/test-framework/src/java/. |
---|
1318 | - Each internal module (core/, solrj/, test-framework/, and webapp/) |
---|
1319 | now has its own build.xml, from which it is possible to run |
---|
1320 | module-specific targets. solr/build.xml delegates all build |
---|
1321 | tasks (via <ant dir="internal-module-dir"> calls) to these |
---|
1322 | modules' build.xml files. |
---|
1323 | (Steve Rowe, Robert Muir) |
---|
1324 | |
---|
1325 | * LUCENE-3406: Add ant target 'package-local-src-tgz' to Lucene and Solr |
---|
1326 | to package sources from the local working copy. |
---|
1327 | (Seung-Yeoul Yang via Steve Rowe) |
---|
1328 | |
---|
1329 | Documentation |
---|
1330 | ---------------------- |
---|
1331 | |
---|
1332 | ================== 3.3.0 ================== |
---|
1333 | |
---|
1334 | Upgrading from Solr 3.2.0 |
---|
1335 | ---------------------- |
---|
1336 | * SolrCore's CloseHook API has been changed in a backward-incompatible way. It |
---|
1337 | has been changed from an interface to an abstract class. Any custom |
---|
1338 | components which use the SolrCore.addCloseHook method will need to |
---|
1339 | be modified accordingly. To migrate, put your old CloseHook#close impl into |
---|
1340 | CloseHook#preClose. |
---|
1341 | |
---|
1342 | New Features |
---|
1343 | ---------------------- |
---|
1344 | |
---|
1345 | * SOLR-2378: A new, automaton-based, implementation of suggest (autocomplete) |
---|
1346 | component, offering an order of magnitude smaller memory consumption |
---|
1347 | compared to ternary trees and jaspell and very fast lookups at runtime. |
---|
1348 | (Dawid Weiss) |
---|
1349 | |
---|
1350 | * SOLR-2400: Field- and DocumentAnalysisRequestHandler now provide a position |
---|
1351 | history for each token, so you can follow the token through all analysis stages. |
---|
1352 | The output contains a separate int[] attribute containing all positions from |
---|
1353 | previous Tokenizers/TokenFilters (called "positionHistory"). |
---|
1354 | (Uwe Schindler) |
---|
1355 | |
---|
1356 | * SOLR-2524: (SOLR-236, SOLR-237, SOLR-1773, SOLR-1311) Grouping / Field collapsing |
---|
1357 | using the Lucene grouping contrib. The search result can be grouped by field and query. |
---|
1358 | (Martijn van Groningen, Emmanuel Keller, Shalin Shekhar Mangar, Koji Sekiguchi, |
---|
1359 | Iván de Prado, Ryan McKinley, Marc Sturlese, Peter Karich, Bojan Smid, |
---|
1360 | Charles Hornberger, Dieter Grad, Dmitry Lihachev, Doug Steigerwald, |
---|
1361 | Karsten Sperling, Michael Gundlach, Oleg Gnatovskiy, Thomas Traeger, |
---|
1362 | Harish Agarwal, yonik, Michael McCandless, Bill Bell) |
---|
1363 | |
---|
1364 | * SOLR-1331 -- Added a srcCore parameter to CoreAdminHandler's mergeindexes action |
---|
1365 | to merge one or more cores' indexes to a target core (shalin) |
---|
1366 | |
---|
1367 | * SOLR-2610 -- Add an option to delete index through CoreAdmin UNLOAD action (shalin) |
---|
1368 | |
---|
1369 | Optimizations |
---|
1370 | ---------------------- |
---|
1371 | |
---|
1372 | * SOLR-2567: Solr now defaults to TieredMergePolicy. See http://s.apache.org/merging |
---|
1373 | for more information. (rmuir) |
---|
1374 | |
---|
1375 | Bug Fixes |
---|
1376 | ---------------------- |
---|
1377 | |
---|
1378 | * SOLR-2519: Improve text_* fieldTypes in example schema.xml: improve |
---|
1379 | cross-language defaults for text_general; break out separate |
---|
1380 | English-specific fieldTypes (Jan HÞydahl, hossman, Robert Muir, |
---|
1381 | yonik, Mike McCandless) |
---|
1382 | |
---|
1383 | * SOLR-2462: Fix extremely high memory usage problems with spellcheck.collate. |
---|
1384 | Separately, an additional spellcheck.maxCollationEvaluations (default=10000) |
---|
1385 | parameter is added to avoid excessive CPU time in extreme cases (e.g. long |
---|
1386 | queries with many misspelled words). (James Dyer via rmuir) |
---|
1387 | |
---|
1388 | Other Changes |
---|
1389 | ---------------------- |
---|
1390 | |
---|
1391 | * SOLR-2571: Add a commented out example of the spellchecker's thresholdTokenFrequency |
---|
1392 | parameter to the example solrconfig.xml, and also add a unit test for this feature. |
---|
1393 | (James Dyer via rmuir) |
---|
1394 | |
---|
1395 | * SOLR-2576: Deprecate SpellingResult.add(Token token, int docFreq), please use |
---|
1396 | SpellingResult.addFrequency(Token token, int docFreq) instead. |
---|
1397 | (James Dyer via rmuir) |
---|
1398 | |
---|
1399 | * SOLR-2574: Upgrade slf4j to v1.6.1 (shalin) |
---|
1400 | |
---|
1401 | * LUCENE-3204: The maven-ant-tasks jar is now included in the source tree; |
---|
1402 | users of the generate-maven-artifacts target no longer have to manually |
---|
1403 | place this jar in the Ant classpath. NOTE: when Ant looks for the |
---|
1404 | maven-ant-tasks jar, it looks first in its pre-existing classpath, so |
---|
1405 | any copies it finds will be used instead of the copy included in the |
---|
1406 | Lucene/Solr source tree. For this reason, it is recommeded to remove |
---|
1407 | any copies of the maven-ant-tasks jar in the Ant classpath, e.g. under |
---|
1408 | ~/.ant/lib/ or under the Ant installation's lib/ directory. (Steve Rowe) |
---|
1409 | |
---|
1410 | * SOLR-2611: Fix typos in the example configuration (Eric Pugh via rmuir) |
---|
1411 | |
---|
1412 | ================== 3.2.0 ================== |
---|
1413 | Versions of Major Components |
---|
1414 | --------------------- |
---|
1415 | Apache Lucene trunk |
---|
1416 | Apache Tika 0.8 |
---|
1417 | Carrot2 3.4.2 |
---|
1418 | |
---|
1419 | |
---|
1420 | Upgrading from Solr 3.1 |
---|
1421 | ---------------------- |
---|
1422 | |
---|
1423 | * The updateRequestProcessorChain for a RequestHandler is now defined |
---|
1424 | with update.chain rather than update.processor. The latter still works, |
---|
1425 | but has been deprecated. |
---|
1426 | |
---|
1427 | Detailed Change List |
---|
1428 | ---------------------- |
---|
1429 | |
---|
1430 | New Features |
---|
1431 | ---------------------- |
---|
1432 | |
---|
1433 | * SOLR-2496: Add ability to specify overwrite and commitWithin as request |
---|
1434 | parameters (e.g. specified in the URL) when using the JSON update format, |
---|
1435 | and added a simplified format for specifying multiple documents. |
---|
1436 | Example: [{"id":"doc1"},{"id":"doc2"}] |
---|
1437 | (yonik) |
---|
1438 | |
---|
1439 | * SOLR-2113: Add TermQParserPlugin, registered as "term". This is useful |
---|
1440 | when generating filter queries from terms returned from field faceting or |
---|
1441 | the terms component. Example: fq={!term f=weight}1.5 (hossman, yonik) |
---|
1442 | |
---|
1443 | * SOLR-1915: DebugComponent now supports using a NamedList to model |
---|
1444 | Explanation objects in it's responses instead of |
---|
1445 | Explanation.toString (hossman) |
---|
1446 | |
---|
1447 | Optimizations |
---|
1448 | ---------------------- |
---|
1449 | |
---|
1450 | Bug Fixes |
---|
1451 | ---------------------- |
---|
1452 | |
---|
1453 | * SOLR-2445: Change the default qt to blank in form.jsp, because there is no "standard" |
---|
1454 | request handler unless you have it in your solrconfig.xml explicitly. (koji) |
---|
1455 | |
---|
1456 | * SOLR-2455: Prevent double submit of forms in admin interface. |
---|
1457 | (Jeffrey Chang via uschindler) |
---|
1458 | |
---|
1459 | * SOLR-2464: Fix potential slowness in QueryValueSource (the query() function) when |
---|
1460 | the query is very sparse and may not match any documents in a segment. (yonik) |
---|
1461 | |
---|
1462 | * SOLR-2469: When using java replication with replicateAfter=startup, the first |
---|
1463 | commit point on server startup is never removed. (yonik) |
---|
1464 | |
---|
1465 | * SOLR-2466: SolrJ's CommonsHttpSolrServer would retry requests on failure, regardless |
---|
1466 | of the configured maxRetries, due to HttpClient having it's own retry mechanism |
---|
1467 | by default. The retryCount of HttpClient is now set to 0, and SolrJ does |
---|
1468 | the retry. (yonik) |
---|
1469 | |
---|
1470 | * SOLR-2409: edismax parser - treat the text of a fielded query as a literal if the |
---|
1471 | fieldname does not exist. For example Mission: Impossible should not search on |
---|
1472 | the "Mission" field unless it's a valid field in the schema. (Ryan McKinley, yonik) |
---|
1473 | |
---|
1474 | * SOLR-2403: facet.sort=index reported incorrect results for distributed search |
---|
1475 | in a number of scenarios when facet.mincount>0. This patch also adds some |
---|
1476 | performance/algorithmic improvements when (facet.sort=count && facet.mincount=1 |
---|
1477 | && facet.limit=-1) and when (facet.sort=index && facet.mincount>0) (yonik) |
---|
1478 | |
---|
1479 | * SOLR-2333: The "rename" core admin action does not persist the new name to solr.xml |
---|
1480 | (Rasmus Hahn, Paul R. Brown via Mark Miller) |
---|
1481 | |
---|
1482 | * SOLR-2390: Performance of usePhraseHighlighter is terrible on very large Documents, |
---|
1483 | regardless of hl.maxDocCharsToAnalyze. (Mark Miller) |
---|
1484 | |
---|
1485 | * SOLR-2474: The helper TokenStreams in analysis.jsp and AnalysisRequestHandlerBase |
---|
1486 | did not clear all attributes so they displayed incorrect attribute values for tokens |
---|
1487 | in later filter stages. (uschindler, rmuir, yonik) |
---|
1488 | |
---|
1489 | * SOLR-2467: Fix <analyzer class="..." /> initialization so any errors |
---|
1490 | are logged properly. (hossman) |
---|
1491 | |
---|
1492 | * SOLR-2493: SolrQueryParser was fixed to not parse the SolrConfig DOM tree on each |
---|
1493 | instantiation which is a huge slowdown. (Stephane Bailliez via uschindler) |
---|
1494 | |
---|
1495 | * SOLR-2495: The JSON parser could hang on corrupted input and could fail |
---|
1496 | to detect numbers that were too large to fit in a long. (yonik) |
---|
1497 | |
---|
1498 | * SOLR-2520: Make JSON response format escape \u2029 as well as \u2028 |
---|
1499 | in strings since those characters are not valid in javascript strings |
---|
1500 | (although they are valid in JSON strings). (yonik) |
---|
1501 | |
---|
1502 | * SOLR-2536: Add ReloadCacheRequestHandler to fix ExternalFileField bug (if reopenReaders |
---|
1503 | set to true and no index segments have been changed, commit cannot trigger reload |
---|
1504 | external file). (koji) |
---|
1505 | |
---|
1506 | * SOLR-2539: VectorValueSource.floatVal incorrectly used byteVal on sub-sources. |
---|
1507 | (Tom Liu via yonik) |
---|
1508 | |
---|
1509 | * SOLR-2554: RandomSortField didn't work when used in a function query. (yonik) |
---|
1510 | |
---|
1511 | |
---|
1512 | Other Changes |
---|
1513 | ---------------------- |
---|
1514 | |
---|
1515 | * SOLR-2061: Pull base tests out into a new Solr Test Framework module, |
---|
1516 | and publish binary, javadoc, and source test-framework jars. |
---|
1517 | (Drew Farris, Robert Muir, Steve Rowe) |
---|
1518 | |
---|
1519 | * SOLR-2105: Rename RequestHandler param 'update.processor' to 'update.chain'. |
---|
1520 | (Jan HÞydahl via Mark Miller) |
---|
1521 | |
---|
1522 | * SOLR-2485: Deprecate BaseResponseWriter, GenericBinaryResponseWriter, and |
---|
1523 | GenericTextResponseWriter. These classes will be removed in 4.0. (ryan) |
---|
1524 | |
---|
1525 | * SOLR-2451: Enhance assertJQ to allow individual tests to specify the |
---|
1526 | tolerance delta used in numeric equalities. This allows for slight |
---|
1527 | variance in asserting score comparisons in unit tests. |
---|
1528 | (David Smiley, Chris Hostetter) |
---|
1529 | |
---|
1530 | * SOLR-2528: Remove default="true" from HtmlEncoder in example solrconfig.xml, |
---|
1531 | because html encoding confuses non-ascii users. (koji) |
---|
1532 | |
---|
1533 | Build |
---|
1534 | ---------------------- |
---|
1535 | |
---|
1536 | * LUCENE-3006: Building javadocs will fail on warnings by default. Override with -Dfailonjavadocwarning=false (sarowe, gsingers) |
---|
1537 | |
---|
1538 | |
---|
1539 | Documentation |
---|
1540 | ---------------------- |
---|
1541 | |
---|
1542 | |
---|
1543 | ================== 3.1.0 ================== |
---|
1544 | Versions of Major Components |
---|
1545 | --------------------- |
---|
1546 | Apache Lucene 3.1.0 |
---|
1547 | Apache Tika 0.8 |
---|
1548 | Carrot2 3.4.2 |
---|
1549 | Velocity 1.6.1 and Velocity Tools 2.0-beta3 |
---|
1550 | Apache UIMA 2.3.1-SNAPSHOT |
---|
1551 | |
---|
1552 | |
---|
1553 | Upgrading from Solr 1.4 |
---|
1554 | ---------------------- |
---|
1555 | |
---|
1556 | * The Lucene index format has changed and as a result, once you upgrade, |
---|
1557 | previous versions of Solr will no longer be able to read your indices. |
---|
1558 | In a master/slave configuration, all searchers/slaves should be upgraded |
---|
1559 | before the master. If the master were to be updated first, the older |
---|
1560 | searchers would not be able to read the new index format. |
---|
1561 | |
---|
1562 | * The Solr JavaBin format has changed as of Solr 3.1. If you are using the |
---|
1563 | JavaBin format, you will need to upgrade your SolrJ client. (SOLR-2034) |
---|
1564 | |
---|
1565 | * The experimental ALIAS command has been removed (SOLR-1637) |
---|
1566 | |
---|
1567 | * Using solr.xml is recommended for single cores also (SOLR-1621) |
---|
1568 | |
---|
1569 | * Old syntax of <highlighting> configuration in solrconfig.xml |
---|
1570 | is deprecated (SOLR-1696) |
---|
1571 | |
---|
1572 | * The deprecated HTMLStripReader, HTMLStripWhitespaceTokenizerFactory and |
---|
1573 | HTMLStripStandardTokenizerFactory were removed. To strip HTML tags, |
---|
1574 | HTMLStripCharFilter should be used instead, and it works with any |
---|
1575 | Tokenizer of your choice. (SOLR-1657) |
---|
1576 | |
---|
1577 | * Field compression is no longer supported. Fields that were formerly |
---|
1578 | compressed will be uncompressed as index segments are merged. For |
---|
1579 | shorter fields, this may actually be an improvement, as the compression |
---|
1580 | used was not very good for short text. Some indexes may get larger though. |
---|
1581 | |
---|
1582 | * SOLR-1845: The TermsComponent response format was changed so that the |
---|
1583 | "terms" container is a map instead of a named list. This affects |
---|
1584 | response formats like JSON, but not XML. (yonik) |
---|
1585 | |
---|
1586 | * SOLR-1876: All Analyzers and TokenStreams are now final to enforce |
---|
1587 | the decorator pattern. (rmuir, uschindler) |
---|
1588 | |
---|
1589 | * LUCENE-2608: Added the ability to specify the accuracy on a per request basis. |
---|
1590 | It is recommended that implementations of SolrSpellChecker should change over to the new SolrSpellChecker |
---|
1591 | methods using the new SpellingOptions class, but are not required to. While this change is |
---|
1592 | backward compatible, the trunk version of Solr has already dropped support for all but the SpellingOptions method. (gsingers) |
---|
1593 | |
---|
1594 | * readercycle script was removed. (SOLR-2046) |
---|
1595 | |
---|
1596 | * In previous releases, sorting or evaluating function queries on |
---|
1597 | fields that were "multiValued" (either by explicit declaration in |
---|
1598 | schema.xml or by implict behavior because the "version" attribute on |
---|
1599 | the schema was less then 1.2) did not generally work, but it would |
---|
1600 | sometimes silently act as if it succeeded and order the docs |
---|
1601 | arbitrarily. Solr will now fail on any attempt to sort, or apply a |
---|
1602 | function to, multi-valued fields |
---|
1603 | |
---|
1604 | * The DataImportHandler jars are no longer included in the solr |
---|
1605 | WAR and should be added in Solr's lib directory, or referenced |
---|
1606 | via the <lib> directive in solrconfig.xml. |
---|
1607 | |
---|
1608 | |
---|
1609 | Detailed Change List |
---|
1610 | ---------------------- |
---|
1611 | |
---|
1612 | New Features |
---|
1613 | ---------------------- |
---|
1614 | |
---|
1615 | * SOLR-1302: Added several new distance based functions, including |
---|
1616 | Great Circle (haversine), Manhattan, Euclidean and String (using the |
---|
1617 | StringDistance methods in the Lucene spellchecker). |
---|
1618 | Also added geohash(), deg() and rad() convenience functions. |
---|
1619 | See http://wiki.apache.org/solr/FunctionQuery. (gsingers) |
---|
1620 | |
---|
1621 | * SOLR-1553: New dismax parser implementation (accessible as "edismax") |
---|
1622 | that supports full lucene syntax, improved reserved char escaping, |
---|
1623 | fielded queries, improved proximity boosting, and improved stopword |
---|
1624 | handling. Note: status is experimental for now. (yonik) |
---|
1625 | |
---|
1626 | * SOLR-1574: Add many new functions from java Math (e.g. sin, cos) (yonik) |
---|
1627 | |
---|
1628 | * SOLR-1569: Allow functions to take in literal strings by modifying the |
---|
1629 | FunctionQParser and adding LiteralValueSource (gsingers) |
---|
1630 | |
---|
1631 | * SOLR-1571: Added unicode collation support though Lucene's CollationKeyFilter |
---|
1632 | (Robert Muir via shalin) |
---|
1633 | |
---|
1634 | * SOLR-785: Distributed Search support for SpellCheckComponent |
---|
1635 | (Matthew Woytowitz, shalin) |
---|
1636 | |
---|
1637 | * SOLR-1625: Add regexp support for TermsComponent (Uri Boness via noble) |
---|
1638 | |
---|
1639 | * SOLR-1297: Add sort by Function capability (gsingers, yonik) |
---|
1640 | |
---|
1641 | * SOLR-1139: Add TermsComponent Query and Response Support in SolrJ (Matt Weber via shalin) |
---|
1642 | |
---|
1643 | * SOLR-1177: Distributed Search support for TermsComponent (Matt Weber via shalin) |
---|
1644 | |
---|
1645 | * SOLR-1621, SOLR-1722: Allow current single core deployments to be specified by solr.xml (Mark Miller , noble) |
---|
1646 | |
---|
1647 | * SOLR-1532: Allow StreamingUpdateSolrServer to use a provided HttpClient (Gabriele Renzi via shalin) |
---|
1648 | |
---|
1649 | * SOLR-1653: Add PatternReplaceCharFilter (koji) |
---|
1650 | |
---|
1651 | * 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 |
---|
1652 | implementation such as in the spatial case. (Chris Mattmann, shalin, noble, gsingers, yonik) |
---|
1653 | |
---|
1654 | * SOLR-1586: Add support for Geohash and Spatial Tile FieldType (Chris Mattmann, gsingers) |
---|
1655 | |
---|
1656 | * SOLR-1697: PluginInfo should load plugins w/o class attribute also (noble) |
---|
1657 | |
---|
1658 | * SOLR-1268: Incorporate FastVectorHighlighter (koji) |
---|
1659 | |
---|
1660 | * SOLR-1750: SolrInfoMBeanHandler added for simpler programmatic access |
---|
1661 | to info currently available from registry.jsp and stats.jsp |
---|
1662 | (ehatcher, hossman) |
---|
1663 | |
---|
1664 | * SOLR-1815: SolrJ now preserves the order of facet queries. (yonik) |
---|
1665 | |
---|
1666 | * SOLR-1677: Add support for choosing the Lucene Version for Lucene components within |
---|
1667 | Solr. (Uwe Schindler, Mark Miller) |
---|
1668 | |
---|
1669 | * SOLR-1379: Add RAMDirectoryFactory for non-persistent in memory index storage. |
---|
1670 | (Alex Baranov via yonik) |
---|
1671 | |
---|
1672 | * SOLR-1857: Synced Solr analysis with Lucene 3.1. Added KeywordMarkerFilterFactory |
---|
1673 | and StemmerOverrideFilterFactory, which can be used to tune stemming algorithms. |
---|
1674 | Added factories for Bulgarian, Czech, Hindi, Turkish, and Wikipedia analysis. Improved the |
---|
1675 | performance of SnowballPorterFilterFactory. (rmuir) |
---|
1676 | |
---|
1677 | * SOLR-1657: Converted remaining TokenStreams to the Attributes-based API. All Solr |
---|
1678 | TokenFilters now support custom Attributes, and some have improved performance: |
---|
1679 | especially WordDelimiterFilter and CommonGramsFilter. (rmuir, cmale, uschindler) |
---|
1680 | |
---|
1681 | * SOLR-1740: ShingleFilterFactory supports the "minShingleSize" and "tokenSeparator" |
---|
1682 | parameters for controlling the minimum shingle size produced by the filter, and |
---|
1683 | the separator string that it uses, respectively. (Steven Rowe via rmuir) |
---|
1684 | |
---|
1685 | * SOLR-744: ShingleFilterFactory supports the "outputUnigramsIfNoShingles" |
---|
1686 | parameter, to output unigrams if the number of input tokens is fewer than |
---|
1687 | minShingleSize, and no shingles can be generated. |
---|
1688 | (Chris Harris via Steven Rowe) |
---|
1689 | |
---|
1690 | * SOLR-1923: PhoneticFilterFactory now has support for the |
---|
1691 | Caverphone algorithm. (rmuir) |
---|
1692 | |
---|
1693 | * SOLR-1957: The VelocityResponseWriter contrib moved to core. |
---|
1694 | Example search UI now available at http://localhost:8983/solr/browse |
---|
1695 | (ehatcher) |
---|
1696 | |
---|
1697 | * SOLR-1974: Add LimitTokenCountFilterFactory. (koji) |
---|
1698 | |
---|
1699 | * SOLR-1966: QueryElevationComponent can now return just the included results in the elevation file (gsingers, yonik) |
---|
1700 | |
---|
1701 | * SOLR-1556: TermVectorComponent now supports per field overrides. Also, it now throws an error |
---|
1702 | if passed in fields do not exist and warnings |
---|
1703 | if fields that do not have term vector options (termVectors, offsets, positions) |
---|
1704 | that align with the schema declaration. It also |
---|
1705 | will now return warnings about (gsingers) |
---|
1706 | |
---|
1707 | * SOLR-1985: FastVectorHighlighter: add wrapper class for Lucene's SingleFragListBuilder (koji) |
---|
1708 | |
---|
1709 | * SOLR-1984: Add HyphenationCompoundWordTokenFilterFactory. (PB via rmuir) |
---|
1710 | |
---|
1711 | * SOLR-397: Date Faceting now supports a "facet.date.include" param |
---|
1712 | for specifying when the upper & lower end points of computed date |
---|
1713 | ranges should be included in the range. Legal values are: "all", |
---|
1714 | "lower", "upper", "edge", and "outer". For backwards compatibility |
---|
1715 | the default value is the set: [lower,upper,edge], so that all ranges |
---|
1716 | between start and end are inclusive of their endpoints, but the |
---|
1717 | "before" and "after" ranges are not. |
---|
1718 | |
---|
1719 | * SOLR-945: JSON update handler that accepts add, delete, commit |
---|
1720 | commands in JSON format. (Ryan McKinley, yonik) |
---|
1721 | |
---|
1722 | * SOLR-2015: Add a boolean attribute autoGeneratePhraseQueries to TextField. |
---|
1723 | autoGeneratePhraseQueries="true" (the default) causes the query parser to |
---|
1724 | generate phrase queries if multiple tokens are generated from a single |
---|
1725 | non-quoted analysis string. For example WordDelimiterFilter splitting text:pdp-11 |
---|
1726 | will cause the parser to generate text:"pdp 11" rather than (text:PDP OR text:11). |
---|
1727 | Note that autoGeneratePhraseQueries="true" tends to not work well for non whitespace |
---|
1728 | delimited languages. (yonik) |
---|
1729 | |
---|
1730 | * SOLR-1925: Add CSVResponseWriter (use wt=csv) that returns the list of documents |
---|
1731 | in CSV format. (Chris Mattmann, yonik) |
---|
1732 | |
---|
1733 | * SOLR-1240: "Range Faceting" has been added. This is a generalization |
---|
1734 | of the existing "Date Faceting" logic so that it now supports any |
---|
1735 | all stock numeric field types that support range queries in addition |
---|
1736 | to dates. facet.date is now deprecated in favor of this generalized mechanism. |
---|
1737 | (Gijs Kunze, hossman) |
---|
1738 | |
---|
1739 | * SOLR-2021: Add SolrEncoder plugin to Highlighter. (koji) |
---|
1740 | |
---|
1741 | * SOLR-2030: Make FastVectorHighlighter use of SolrEncoder. (koji) |
---|
1742 | |
---|
1743 | * SOLR-2053: Add support for custom comparators in Solr spellchecker, per LUCENE-2479 (gsingers) |
---|
1744 | |
---|
1745 | * SOLR-2049: Add hl.multiValuedSeparatorChar for FastVectorHighlighter, per LUCENE-2603. (koji) |
---|
1746 | |
---|
1747 | * SOLR-2059: Add "types" attribute to WordDelimiterFilterFactory, which |
---|
1748 | allows you to customize how WordDelimiterFilter tokenizes text with |
---|
1749 | a configuration file. (Peter Karich, rmuir) |
---|
1750 | |
---|
1751 | * SOLR-2099: Add ability to throttle rsync based replication using rsync option --bwlimit. |
---|
1752 | (Brandon Evans via koji) |
---|
1753 | |
---|
1754 | * SOLR-1316: Create autosuggest component. |
---|
1755 | (Ankul Garg, Jason Rutherglen, Shalin Shekhar Mangar, Grant Ingersoll, Robert Muir, ab) |
---|
1756 | |
---|
1757 | * SOLR-1568: Added "native" filtering support for PointType, GeohashField. Added LatLonType with filtering support too. See |
---|
1758 | http://wiki.apache.org/solr/SpatialSearch and the example. Refactored some items in Lucene spatial. |
---|
1759 | Removed SpatialTileField as the underlying CartesianTier is broken beyond repair and is going to be moved. (gsingers) |
---|
1760 | |
---|
1761 | * SOLR-2128: Full parameter substitution for function queries. |
---|
1762 | Example: q=add($v1,$v2)&v1=mul(popularity,5)&v2=20.0 |
---|
1763 | (yonik) |
---|
1764 | |
---|
1765 | * SOLR-2133: Function query parser can now parse multiple comma separated |
---|
1766 | value sources. It also now fails if there is extra unexpected text |
---|
1767 | after parsing the functions, instead of silently ignoring it. |
---|
1768 | This allows expressions like q=dist(2,vector(1,2),$pt)&pt=3,4 (yonik) |
---|
1769 | |
---|
1770 | * SOLR-2157: Suggester should return alpha-sorted results when onlyMorePopular=false (ab) |
---|
1771 | |
---|
1772 | * SOLR-2010: Added ability to verify that spell checking collations have |
---|
1773 | actual results in the index. (James Dyer via gsingers) |
---|
1774 | |
---|
1775 | * SOLR-2188: Added "maxTokenLength" argument to the factories for ClassicTokenizer, |
---|
1776 | StandardTokenizer, and UAX29URLEmailTokenizer. (Steven Rowe) |
---|
1777 | |
---|
1778 | * SOLR-2129: Added a Solr module for dynamic metadata extraction/indexing with Apache UIMA. |
---|
1779 | See contrib/uima/README.txt for more information. (Tommaso Teofili via rmuir) |
---|
1780 | |
---|
1781 | * SOLR-2325: Allow tagging and exclusion of main query for faceting. (yonik) |
---|
1782 | |
---|
1783 | * SOLR-2263: Add ability for RawResponseWriter to stream binary files as well as |
---|
1784 | text files. (Eric Pugh via yonik) |
---|
1785 | |
---|
1786 | * SOLR-860: Add debug output for MoreLikeThis. (koji) |
---|
1787 | |
---|
1788 | * SOLR-1057: Add PathHierarchyTokenizerFactory. (ryan, koji) |
---|
1789 | |
---|
1790 | Optimizations |
---|
1791 | ---------------------- |
---|
1792 | |
---|
1793 | * SOLR-1679: Don't build up string messages in SolrCore.execute unless they |
---|
1794 | are necessary for the current log level. |
---|
1795 | (Fuad Efendi and hossman) |
---|
1796 | |
---|
1797 | * SOLR-1874: Optimize PatternReplaceFilter for better performance. (rmuir, uschindler) |
---|
1798 | |
---|
1799 | * SOLR-1968: speed up initial filter cache population for facet.method=enum and |
---|
1800 | also big terms for multi-valued facet.method=fc. The resulting speedup |
---|
1801 | for the first facet request is anywhere from 30% to 32x, depending on how many |
---|
1802 | terms are in the field and how many documents match per term. (yonik) |
---|
1803 | |
---|
1804 | * SOLR-2089: Speed up UnInvertedField faceting (facet.method=fc for |
---|
1805 | multi-valued fields) when facet.limit is both high, and a high enough |
---|
1806 | percentage of the number of unique terms in the field. Extreme cases |
---|
1807 | yield speedups over 3x. (yonik) |
---|
1808 | |
---|
1809 | * SOLR-2046: add common functions to scripts-util. (koji) |
---|
1810 | |
---|
1811 | Bug Fixes |
---|
1812 | ---------------------- |
---|
1813 | * SOLR-1769: Solr 1.4 Replication - Repeater throwing NullPointerException (Jörgen Rydenius via noble) |
---|
1814 | |
---|
1815 | * SOLR-1432: Make the new ValueSource.getValues(context,reader) delegate |
---|
1816 | to the original ValueSource.getValues(reader) so custom sources |
---|
1817 | will work. (yonik) |
---|
1818 | |
---|
1819 | * SOLR-1572: FastLRUCache correctly implemented the LRU policy only |
---|
1820 | for the first 2B accesses. (yonik) |
---|
1821 | |
---|
1822 | * SOLR-1582: copyField was ignored for BinaryField types (gsingers) |
---|
1823 | |
---|
1824 | * SOLR-1563: Binary fields, including trie-based numeric fields, caused null |
---|
1825 | pointer exceptions in the luke request handler. (yonik) |
---|
1826 | |
---|
1827 | * SOLR-1577: The example solrconfig.xml defaulted to a solr data dir |
---|
1828 | relative to the current working directory, even if a different solr home |
---|
1829 | was being used. The new behavior changes the default to a zero length |
---|
1830 | string, which is treated the same as if no dataDir had been specified, |
---|
1831 | hence the "data" directory under the solr home will be used. (yonik) |
---|
1832 | |
---|
1833 | * SOLR-1584: SolrJ - SolrQuery.setIncludeScore() incorrectly added |
---|
1834 | fl=score to the parameter list instead of appending score to the |
---|
1835 | existing field list. (yonik) |
---|
1836 | |
---|
1837 | * SOLR-1580: Solr Configuration ignores 'mergeFactor' parameter, always |
---|
1838 | uses Lucene default. (Lance Norskog via Mark Miller) |
---|
1839 | |
---|
1840 | * SOLR-1593: ReverseWildcardFilter didn't work for surrogate pairs |
---|
1841 | (i.e. code points outside of the BMP), resulting in incorrect |
---|
1842 | matching. This change requires reindexing for any content with |
---|
1843 | such characters. (Robert Muir, yonik) |
---|
1844 | |
---|
1845 | * SOLR-1596: A rollback operation followed by the shutdown of Solr |
---|
1846 | or the close of a core resulted in a warning: |
---|
1847 | "SEVERE: SolrIndexWriter was not closed prior to finalize()" although |
---|
1848 | there were no other consequences. (yonik) |
---|
1849 | |
---|
1850 | * SOLR-1595: StreamingUpdateSolrServer used the platform default character |
---|
1851 | set when streaming updates, rather than using UTF-8 as the HTTP headers |
---|
1852 | indicated, leading to an encoding mismatch. (hossman, yonik) |
---|
1853 | |
---|
1854 | * SOLR-1587: A distributed search request with fl=score, didn't match |
---|
1855 | the behavior of a non-distributed request since it only returned |
---|
1856 | the id,score fields instead of all fields in addition to score. (yonik) |
---|
1857 | |
---|
1858 | * SOLR-1601: Schema browser does not indicate presence of charFilter. (koji) |
---|
1859 | |
---|
1860 | * SOLR-1615: Backslash escaping did not work in quoted strings |
---|
1861 | for local param arguments. (Wojtek Piaseczny, yonik) |
---|
1862 | |
---|
1863 | * SOLR-1628: log contains incorrect number of adds and deletes. |
---|
1864 | (Thijs Vonk via yonik) |
---|
1865 | |
---|
1866 | * SOLR-343: Date faceting now respects facet.mincount limiting |
---|
1867 | (Uri Boness, Raiko Eckstein via hossman) |
---|
1868 | |
---|
1869 | * SOLR-1624: Highlighter only highlights values from the first field value |
---|
1870 | in a multivalued field when term positions (term vectors) are stored. |
---|
1871 | (Chris Harris via yonik) |
---|
1872 | |
---|
1873 | * SOLR-1635: Fixed error message when numeric values can't be parsed by |
---|
1874 | DOMUtils - notably for plugin init params in solrconfig.xml. |
---|
1875 | (hossman) |
---|
1876 | |
---|
1877 | * SOLR-1651: Fixed Incorrect dataimport handler package name in SolrResourceLoader |
---|
1878 | (Akshay Ukey via shalin) |
---|
1879 | |
---|
1880 | * SOLR-1660: CapitalizationFilter crashes if you use the maxWordCountOption |
---|
1881 | (Robert Muir via shalin) |
---|
1882 | |
---|
1883 | * SOLR-1667: PatternTokenizer does not reset attributes such as positionIncrementGap |
---|
1884 | (Robert Muir via shalin) |
---|
1885 | |
---|
1886 | * SOLR-1711: SolrJ - StreamingUpdateSolrServer had a race condition that |
---|
1887 | could halt the streaming of documents. The original patch to fix this |
---|
1888 | (never officially released) introduced another hanging bug due to |
---|
1889 | connections not being released. |
---|
1890 | (Attila Babo, Erik Hetzner, Johannes Tuchscherer via yonik) |
---|
1891 | |
---|
1892 | * SOLR-1748, SOLR-1747, SOLR-1746, SOLR-1745, SOLR-1744: Streams and Readers |
---|
1893 | retrieved from ContentStreams are not closed in various places, resulting |
---|
1894 | in file descriptor leaks. |
---|
1895 | (Christoff Brill, Mark Miller) |
---|
1896 | |
---|
1897 | * SOLR-1753: StatsComponent throws NPE when getting statistics for facets in distributed search |
---|
1898 | (Janne Majaranta via koji) |
---|
1899 | |
---|
1900 | * SOLR-1736:In the slave , If 'mov'ing file does not succeed , copy the file (noble) |
---|
1901 | |
---|
1902 | * SOLR-1579: Fixes to XML escaping in stats.jsp |
---|
1903 | (David Bowen and hossman) |
---|
1904 | |
---|
1905 | * SOLR-1777: fieldTypes with sortMissingLast=true or sortMissingFirst=true can |
---|
1906 | result in incorrectly sorted results. (yonik) |
---|
1907 | |
---|
1908 | * SOLR-1798: Small memory leak (~100 bytes) in fastLRUCache for every |
---|
1909 | commit. (yonik) |
---|
1910 | |
---|
1911 | * SOLR-1823: Fixed XMLResponseWriter (via XMLWriter) so it no longer throws |
---|
1912 | a ClassCastException when a Map containing a non-String key is used. |
---|
1913 | (Frank Wesemann, hossman) |
---|
1914 | |
---|
1915 | * SOLR-1797: fix ConcurrentModificationException and potential memory |
---|
1916 | leaks in ResourceLoader. (yonik) |
---|
1917 | |
---|
1918 | * SOLR-1850: change KeepWordFilter so a new word set is not created for |
---|
1919 | each instance (John Wang via yonik) |
---|
1920 | |
---|
1921 | * SOLR-1706: fixed WordDelimiterFilter for certain combinations of options |
---|
1922 | where it would output incorrect tokens. (Robert Muir, Chris Male) |
---|
1923 | |
---|
1924 | * SOLR-1936: The JSON response format needed to escape unicode code point |
---|
1925 | U+2028 - 'LINE SEPARATOR' (Robert Hofstra, yonik) |
---|
1926 | |
---|
1927 | * SOLR-1914: Change the JSON response format to output float/double |
---|
1928 | values of NaN,Infinity,-Infinity as strings. (yonik) |
---|
1929 | |
---|
1930 | * SOLR-1948: PatternTokenizerFactory should use parent's args (koji) |
---|
1931 | |
---|
1932 | * SOLR-1870: Indexing documents using the 'javabin' format no longer |
---|
1933 | fails with a ClassCastException whenSolrInputDocuments contain field |
---|
1934 | values which are Collections or other classes that implement |
---|
1935 | Iterable. (noble, hossman) |
---|
1936 | |
---|
1937 | * SOLR-1981: Solr will now fail correctly if solr.xml attempts to |
---|
1938 | specify multiple cores that have the same name (hossman) |
---|
1939 | |
---|
1940 | * SOLR-1791: Fix messed up core names on admin gui (yonik via koji) |
---|
1941 | |
---|
1942 | * SOLR-1995: Change date format from "hour in am/pm" to "hour in day" |
---|
1943 | in CoreContainer and SnapShooter. (Hayato Ito, koji) |
---|
1944 | |
---|
1945 | * SOLR-2008: avoid possible RejectedExecutionException w/autoCommit |
---|
1946 | by making SolreCore close the UpdateHandler before closing the |
---|
1947 | SearchExecutor. (NarasimhaRaju, hossman) |
---|
1948 | |
---|
1949 | * SOLR-2036: Avoid expensive fieldCache ram estimation for the |
---|
1950 | admin stats page. (yonik) |
---|
1951 | |
---|
1952 | * SOLR-2047: ReplicationHandler should accept bool type for enable flag. (koji) |
---|
1953 | |
---|
1954 | * SOLR-1630: Fix spell checking collation issue related to token positions (rmuir, gsingers) |
---|
1955 | |
---|
1956 | * SOLR-2100: The replication handler backup command didn't save the commit |
---|
1957 | point and hence could fail when a newer commit caused the older commit point |
---|
1958 | to be removed before it was finished being copied. This did not affect |
---|
1959 | normal master/slave replication. (Peter Sturge via yonik) |
---|
1960 | |
---|
1961 | * SOLR-2114: Fixed parsing error in hsin function. The function signature has changed slightly. (gsingers) |
---|
1962 | |
---|
1963 | * SOLR-2083: SpellCheckComponent misreports suggestions when distributed (James Dyer via gsingers) |
---|
1964 | |
---|
1965 | * SOLR-2111: Change exception handling in distributed faceting to work more |
---|
1966 | like non-distributed faceting, change facet_counts/exception from a String |
---|
1967 | to a List<String> to enable listing all exceptions that happened, and |
---|
1968 | prevent an exception in one facet command from affecting another |
---|
1969 | facet command. (yonik) |
---|
1970 | |
---|
1971 | * SOLR-2110: Remove the restriction on names for local params |
---|
1972 | substitution/dereferencing. Properly encode local params in |
---|
1973 | distributed faceting. (yonik) |
---|
1974 | |
---|
1975 | * SOLR-2135: Fix behavior of ConcurrentLRUCache when asking for |
---|
1976 | getLatestAccessedItems(0) or getOldestAccessedItems(0). |
---|
1977 | (David Smiley via hossman) |
---|
1978 | |
---|
1979 | * SOLR-2148: Highlighter doesn't support q.alt. (koji) |
---|
1980 | |
---|
1981 | * SOLR-2180: It was possible for EmbeddedSolrServer to leave searchers |
---|
1982 | open if a request threw an exception. (yonik) |
---|
1983 | |
---|
1984 | * SOLR-2173: Suggester should always rebuild Lookup data if Lookup.load fails. (ab) |
---|
1985 | |
---|
1986 | * SOLR-2081: BaseResponseWriter.isStreamingDocs causes |
---|
1987 | SingleResponseWriter.end to be called 2x |
---|
1988 | (Chris A. Mattmann via hossman) |
---|
1989 | |
---|
1990 | * SOLR-2219: The init() method of every SolrRequestHandler was being |
---|
1991 | called twice. (ambikeshwar singh and hossman) |
---|
1992 | |
---|
1993 | * SOLR-2285: duplicate SolrEventListeners no longer created (hossman) |
---|
1994 | |
---|
1995 | * SOLR-1993: fix String cast assumption in JavaBinCodec - specific |
---|
1996 | addresses "commitWithin" option on Update requests. |
---|
1997 | (noble, hossman, and Maxim Valyanskiy) |
---|
1998 | |
---|
1999 | * SOLR-2261: fix velocity template layout.vm that referred to an older |
---|
2000 | version of jquery. (Eric Pugh via rmuir) |
---|
2001 | |
---|
2002 | * SOLR-2307: fix bug in PHPSerializedResponseWriter (wt=phps) when |
---|
2003 | dealing with SolrDocumentList objects -- ie: sharded queries. |
---|
2004 | (Antonio Verni via hossman) |
---|
2005 | |
---|
2006 | * SOLR-2127: Fixed serialization of default core and indentation of solr.xml when serializing. |
---|
2007 | (Ephraim Ofir, Mark Miller) |
---|
2008 | |
---|
2009 | * SOLR-2320: Fixed ReplicationHandler detail reporting for masters |
---|
2010 | (hossman) |
---|
2011 | |
---|
2012 | * SOLR-482: Provide more exception handling in CSVLoader (gsingers) |
---|
2013 | |
---|
2014 | * SOLR-1283: HTMLStripCharFilter sometimes threw a "Mark Invalid" exception. |
---|
2015 | (Julien Coloos, hossman, yonik) |
---|
2016 | |
---|
2017 | * SOLR-2085: Improve SolrJ behavior when FacetComponent comes before |
---|
2018 | QueryComponent (Tomas Salfischberger via hossman) |
---|
2019 | |
---|
2020 | * SOLR-1940: Fix SolrDispatchFilter behavior when Content-Type is |
---|
2021 | unknown (Lance Norskog and hossman) |
---|
2022 | |
---|
2023 | * SOLR-1983: snappuller fails when modifiedConfFiles is not empty and |
---|
2024 | full copy of index is needed. (Alexander Kanarsky via yonik) |
---|
2025 | |
---|
2026 | * SOLR-2156: SnapPuller fails to clean Old Index Directories on Full Copy |
---|
2027 | (Jayendra Patil via yonik) |
---|
2028 | |
---|
2029 | * SOLR-96: Fix XML parsing in XMLUpdateRequestHandler and |
---|
2030 | DocumentAnalysisRequestHandler to respect charset from XML file and only |
---|
2031 | use HTTP header's "Content-Type" as a "hint". (uschindler) |
---|
2032 | |
---|
2033 | * SOLR-2339: Fix sorting to explicitly generate an error if you |
---|
2034 | attempt to sort on a multiValued field. (hossman) |
---|
2035 | |
---|
2036 | * SOLR-2348: Fix field types to explicitly generate an error if you |
---|
2037 | attempt to get a ValueSource for a multiValued field. (hossman) |
---|
2038 | |
---|
2039 | * SOLR-2380: Distributed faceting could miss values when facet.sort=index |
---|
2040 | and when facet.offset was greater than 0. (yonik) |
---|
2041 | |
---|
2042 | * SOLR-1656: XIncludes and other HREFs in XML files loaded by ResourceLoader |
---|
2043 | are fixed to be resolved using the URI standard (RFC 2396). The system |
---|
2044 | identifier is no longer a plain filename with path, it gets initialized |
---|
2045 | using a custom URI scheme "solrres:". This scheme is resolved using a |
---|
2046 | EntityResolver that utilizes ResourceLoader |
---|
2047 | (org.apache.solr.common.util.SystemIdResolver). This makes all relative |
---|
2048 | pathes in Solr's config files behave like expected. This change |
---|
2049 | introduces some backwards breaks in the API: Some config classes |
---|
2050 | (Config, SolrConfig, IndexSchema) were changed to take |
---|
2051 | org.xml.sax.InputSource instead of InputStream. There may also be some |
---|
2052 | backwards breaks in existing config files, it is recommended to check |
---|
2053 | your config files / XSLTs and replace all XIncludes/HREFs that were |
---|
2054 | hacked to use absolute paths to use relative ones. (uschindler) |
---|
2055 | |
---|
2056 | * SOLR-309: Fix FieldType so setting an analyzer on a FieldType that |
---|
2057 | doesn't expect it will generate an error. Practically speaking this |
---|
2058 | means that Solr will now correctly generate an error on |
---|
2059 | initialization if the schema.xml contains an analyzer configuration |
---|
2060 | for a fieldType that does not use TextField. (hossman) |
---|
2061 | |
---|
2062 | * SOLR-2192: StreamingUpdateSolrServer.blockUntilFinished was not |
---|
2063 | thread safe and could throw an exception. (yonik) |
---|
2064 | |
---|
2065 | Other Changes |
---|
2066 | ---------------------- |
---|
2067 | |
---|
2068 | * SOLR-1602: Refactor SOLR package structure to include o.a.solr.response |
---|
2069 | and move QueryResponseWriters in there |
---|
2070 | (Chris A. Mattmann, ryan, hoss) |
---|
2071 | |
---|
2072 | * SOLR-1516: Addition of an abstract BaseResponseWriter class to simplify the |
---|
2073 | development of QueryResponseWriter implementations. |
---|
2074 | (Chris A. Mattmann via noble) |
---|
2075 | |
---|
2076 | * SOLR-1592: Refactor XMLWriter startTag to allow arbitrary attributes to be written |
---|
2077 | (Chris A. Mattmann via noble) |
---|
2078 | |
---|
2079 | * SOLR-1561: Added Lucene 2.9.1 spatial contrib jar to lib. (gsingers) |
---|
2080 | |
---|
2081 | * SOLR-1570: Log warnings if uniqueKey is multi-valued or not stored (hossman, shalin) |
---|
2082 | |
---|
2083 | * SOLR-1558: QueryElevationComponent only works if the uniqueKey field is |
---|
2084 | implemented using StrField. In previous versions of Solr no warning or |
---|
2085 | error would be generated if you attempted to use QueryElevationComponent, |
---|
2086 | it would just fail in unexpected ways. This has been changed so that it |
---|
2087 | will fail with a clear error message on initialization. (hossman) |
---|
2088 | |
---|
2089 | * SOLR-1611: Added Lucene 2.9.1 collation contrib jar to lib (shalin) |
---|
2090 | |
---|
2091 | * SOLR-1608: Extract base class from TestDistributedSearch to make |
---|
2092 | it easy to write test cases for other distributed components. (shalin) |
---|
2093 | |
---|
2094 | * Upgraded to Lucene 2.9-dev r888785 (shalin) |
---|
2095 | |
---|
2096 | * SOLR-1610: Generify SolrCache (Jason Rutherglen via shalin) |
---|
2097 | |
---|
2098 | * SOLR-1637: Remove ALIAS command |
---|
2099 | |
---|
2100 | * SOLR-1662: Added Javadocs in BufferedTokenStream and fixed incorrect cloning |
---|
2101 | in TestBufferedTokenStream (Robert Muir, Uwe Schindler via shalin) |
---|
2102 | |
---|
2103 | * SOLR-1674: Improve analysis tests and cut over to new TokenStream API. |
---|
2104 | (Robert Muir via Mark Miller) |
---|
2105 | |
---|
2106 | * SOLR-1661: Remove adminCore from CoreContainer . removed deprecated methods setAdminCore(), getAdminCore() (noble) |
---|
2107 | |
---|
2108 | * SOLR-1704: Google collections moved from clustering to core (noble) |
---|
2109 | |
---|
2110 | * SOLR-1268: Add Lucene 2.9-dev r888785 FastVectorHighlighter contrib jar to lib. (koji) |
---|
2111 | |
---|
2112 | * SOLR-1538: Reordering of object allocations in ConcurrentLRUCache to eliminate |
---|
2113 | (an extremely small) potential for deadlock. |
---|
2114 | (gabriele renzi via hossman) |
---|
2115 | |
---|
2116 | * SOLR-1588: Removed some very old dead code. |
---|
2117 | (Chris A. Mattmann via hossman) |
---|
2118 | |
---|
2119 | * SOLR-1696 : Deprecate old <highlighting> syntax and move configuration to HighlightComponent (noble) |
---|
2120 | |
---|
2121 | * SOLR-1727: SolrEventListener should extend NamedListInitializedPlugin (noble) |
---|
2122 | |
---|
2123 | * SOLR-1771: Improved error message when StringIndex cannot be initialized |
---|
2124 | for a function query (hossman) |
---|
2125 | |
---|
2126 | * SOLR-1695: Improved error messages when adding a document that does not |
---|
2127 | contain exactly one value for the uniqueKey field (hossman) |
---|
2128 | |
---|
2129 | * SOLR-1776: DismaxQParser and ExtendedDismaxQParser now use the schema.xml |
---|
2130 | "defaultSearchField" as the default value for the "qf" param instead of failing |
---|
2131 | with an error when "qf" is not specified. (hossman) |
---|
2132 | |
---|
2133 | * SOLR-1851: luceneAutoCommit no longer has any effect - it has been remove (Mark Miller) |
---|
2134 | |
---|
2135 | * SOLR-1865: SolrResourceLoader.getLines ignores Byte Order Markers (BOMs) at the |
---|
2136 | beginning of input files, these are often created by editors such as Windows |
---|
2137 | Notepad. (rmuir, hossman) |
---|
2138 | |
---|
2139 | * SOLR-1938: ElisionFilterFactory will use a default set of French contractions |
---|
2140 | if you do not supply a custom articles file. (rmuir) |
---|
2141 | |
---|
2142 | * SOLR-2003: SolrResourceLoader will report any encoding errors, rather than |
---|
2143 | silently using replacement characters for invalid inputs (blargy via rmuir) |
---|
2144 | |
---|
2145 | * SOLR-1804: Google collections updated to Google Guava (which is a superset of collections and contains bug fixes) (gsingers) |
---|
2146 | |
---|
2147 | * SOLR-2034: Switch to JavaBin codec version 2. Strings are now serialized |
---|
2148 | as the number of UTF-8 bytes, followed by the bytes in UTF-8. Previously |
---|
2149 | Strings were serialized as the number of UTF-16 chars, followed by the |
---|
2150 | bytes in Modified UTF-8. (hossman, yonik, rmuir) |
---|
2151 | |
---|
2152 | * SOLR-2013: Add mapping-FoldToASCII.txt to example conf directory. |
---|
2153 | (Steven Rowe via koji) |
---|
2154 | |
---|
2155 | * SOLR-2213: Upgrade to jQuery 1.4.3 (Erick Erickson via ryan) |
---|
2156 | |
---|
2157 | * SOLR-1826: Add unit tests for highlighting with termOffsets=true |
---|
2158 | and overlapping tokens. (Stefan Oestreicher via rmuir) |
---|
2159 | |
---|
2160 | * SOLR-2340: Add version infos to message in JavaBinCodec when throwing |
---|
2161 | exception. (koji) |
---|
2162 | |
---|
2163 | * SOLR-2350: Since Solr no longer requires XML files to be in UTF-8 |
---|
2164 | (see SOLR-96) SimplePostTool (aka: post.jar) has been improved to |
---|
2165 | work with files of any mime-type or charset. (hossman) |
---|
2166 | |
---|
2167 | * SOLR-2365: Move DIH jars out of solr.war (David Smiley via yonik) |
---|
2168 | |
---|
2169 | * SOLR-2381: Include a patched version of Jetty (6.1.26 + JETTY-1340) |
---|
2170 | to fix problematic UTF-8 handling for supplementary characters. |
---|
2171 | (Bernd Fehling, uschindler, yonik, rmuir) |
---|
2172 | |
---|
2173 | * SOLR-2391: The preferred Content-Type for XML was changed to |
---|
2174 | application/xml. XMLResponseWriter now only delivers using this |
---|
2175 | type; updating documents and analyzing documents is still supported |
---|
2176 | using text/xml as Content-Type, too. If you have clients that are |
---|
2177 | hardcoded on text/xml as Content-Type, you have to change them. |
---|
2178 | (uschindler, rmuir) |
---|
2179 | |
---|
2180 | * SOLR-2414: All ResponseWriters now use only ServletOutputStreams |
---|
2181 | and wrap their own Writer around it when serializing. This fixes |
---|
2182 | the bug in PHPSerializedResponseWriter that produced wrong string |
---|
2183 | length if the servlet container had a broken UTF-8 encoding that was |
---|
2184 | in fact CESU-8 (see SOLR-1091). The system property to enable the |
---|
2185 | CESU-8 byte counting in PHPSerializesResponseWriters for broken |
---|
2186 | servlet containers was therefore removed and is now ignored if set. |
---|
2187 | Output is always UTF-8. (uschindler, yonik, rmuir) |
---|
2188 | |
---|
2189 | * SOLR-141: Errors and Exceptions are formated by ResponseWriter. |
---|
2190 | (Mike Sokolov, Rich Cariens, Daniel Naber, ryan) |
---|
2191 | |
---|
2192 | |
---|
2193 | Build |
---|
2194 | ---------------------- |
---|
2195 | |
---|
2196 | * SOLR-1522: Automated release signing process. (gsingers) |
---|
2197 | |
---|
2198 | * SOLR-1891: Make lucene-jars-to-solr fail if copying any of the jars fails, and |
---|
2199 | update clean to remove the jars in that directory (Mark Miller) |
---|
2200 | |
---|
2201 | * LUCENE-2466: Commons-Codec was upgraded from 1.3 to 1.4. (rmuir) |
---|
2202 | |
---|
2203 | * SOLR-2042: Fixed some Maven deps (Drew Farris via gsingers) |
---|
2204 | |
---|
2205 | * LUCENE-2657: Switch from using Maven POM templates to full POMs when |
---|
2206 | generating Maven artifacts (Steven Rowe) |
---|
2207 | |
---|
2208 | Documentation |
---|
2209 | ---------------------- |
---|
2210 | |
---|
2211 | * SOLR-1590: Javadoc for XMLWriter#startTag |
---|
2212 | (Chris A. Mattmann via hossman) |
---|
2213 | |
---|
2214 | * SOLR-1792: Documented peculiar behavior of TestHarness.LocalRequestFactory |
---|
2215 | (hossman) |
---|
2216 | |
---|
2217 | ================== Release 1.4.0 ================== |
---|
2218 | Release Date: See http://lucene.apache.org/solr for the official release date. |
---|
2219 | |
---|
2220 | Upgrading from Solr 1.3 |
---|
2221 | ----------------------- |
---|
2222 | |
---|
2223 | There is a new default faceting algorithm for multiVaued fields that should be |
---|
2224 | faster for most cases. One can revert to the previous algorithm (which has |
---|
2225 | also been improved somewhat) by adding facet.method=enum to the request. |
---|
2226 | |
---|
2227 | Searching and sorting is now done on a per-segment basis, meaning that |
---|
2228 | the FieldCache entries used for sorting and for function queries are |
---|
2229 | created and used per-segment and can be reused for segments that don't |
---|
2230 | change between index updates. While generally beneficial, this can lead |
---|
2231 | to increased memory usage over 1.3 in certain scenarios: |
---|
2232 | 1) A single valued field that was used for both sorting and faceting |
---|
2233 | in 1.3 would have used the same top level FieldCache entry. In 1.4, |
---|
2234 | sorting will use entries at the segment level while faceting will still |
---|
2235 | use entries at the top reader level, leading to increased memory usage. |
---|
2236 | 2) Certain function queries such as ord() and rord() require a top level |
---|
2237 | FieldCache instance and can thus lead to increased memory usage. Consider |
---|
2238 | replacing ord() and rord() with alternatives, such as function queries |
---|
2239 | based on ms() for date boosting. |
---|
2240 | |
---|
2241 | If you use custom Tokenizer or TokenFilter components in a chain specified in |
---|
2242 | schema.xml, they must support reusability. If your Tokenizer or TokenFilter |
---|
2243 | maintains state, it should implement reset(). If your TokenFilteFactory does |
---|
2244 | not return a subclass of TokenFilter, then it should implement reset() and call |
---|
2245 | reset() on it's input TokenStream. TokenizerFactory implementations must |
---|
2246 | now return a Tokenizer rather than a TokenStream. |
---|
2247 | |
---|
2248 | New users of Solr 1.4 will have omitTermFreqAndPositions enabled for non-text |
---|
2249 | indexed fields by default, which avoids indexing term frequency, positions, and |
---|
2250 | payloads, making the index smaller and faster. If you are upgrading from an |
---|
2251 | earlier Solr release and want to enable omitTermFreqAndPositions by default, |
---|
2252 | change the schema version from 1.1 to 1.2 in schema.xml. Remove any existing |
---|
2253 | index and restart Solr to ensure that omitTermFreqAndPositions completely takes |
---|
2254 | affect. |
---|
2255 | |
---|
2256 | The default QParserPlugin used by the QueryComponent for parsing the "q" param |
---|
2257 | has been changed, to remove support for the deprecated use of ";" as a separator |
---|
2258 | between the query string and the sort options when no "sort" param was used. |
---|
2259 | Users who wish to continue using the semi-colon based method of specifying the |
---|
2260 | sort options should explicitly set the defType param to "lucenePlusSort" on all |
---|
2261 | requests. (The simplest way to do this is by specifying it as a default param |
---|
2262 | for your request handlers in solrconfig.xml, see the example solrconfig.xml for |
---|
2263 | sample syntax.) |
---|
2264 | |
---|
2265 | If spellcheck.extendedResults=true, the response format for suggestions |
---|
2266 | has changed, see SOLR-1071. |
---|
2267 | |
---|
2268 | Use of the "charset" option when configuring the following Analysis |
---|
2269 | Factories has been deprecated and will cause a warning to be logged. |
---|
2270 | In future versions of Solr attempting to use this option will cause an |
---|
2271 | error. See SOLR-1410 for more information. |
---|
2272 | * GreekLowerCaseFilterFactory |
---|
2273 | * RussianStemFilterFactory |
---|
2274 | * RussianLowerCaseFilterFactory |
---|
2275 | * RussianLetterTokenizerFactory |
---|
2276 | |
---|
2277 | Versions of Major Components |
---|
2278 | ---------------------------- |
---|
2279 | Apache Lucene 2.9.1 (r832363 on 2.9 branch) |
---|
2280 | Apache Tika 0.4 |
---|
2281 | Carrot2 3.1.0 |
---|
2282 | |
---|
2283 | Lucene Information |
---|
2284 | ---------------- |
---|
2285 | |
---|
2286 | Since Solr is built on top of Lucene, many people add customizations to Solr |
---|
2287 | that are dependent on Lucene. Please see http://lucene.apache.org/java/2_9_0/, |
---|
2288 | especially http://lucene.apache.org/java/2_9_0/changes/Changes.html for more |
---|
2289 | information on the version of Lucene used in Solr. |
---|
2290 | |
---|
2291 | Detailed Change List |
---|
2292 | ---------------------- |
---|
2293 | |
---|
2294 | New Features |
---|
2295 | ---------------------- |
---|
2296 | 1. SOLR-560: Use SLF4J logging API rather then JDK logging. The packaged .war file is |
---|
2297 | shipped with a JDK logging implementation, so logging configuration for the .war should |
---|
2298 | be identical to solr 1.3. However, if you are using the .jar file, you can select |
---|
2299 | which logging implementation to use by dropping a different binding. |
---|
2300 | See: http://www.slf4j.org/ (ryan) |
---|
2301 | |
---|
2302 | 2. SOLR-617: Allow configurable index deletion policy and provide a default implementation which |
---|
2303 | allows deletion of commit points on various criteria such as number of commits, age of commit |
---|
2304 | point and optimized status. |
---|
2305 | See http://lucene.apache.org/java/2_3_2/api/org/apache/lucene/index/IndexDeletionPolicy.html |
---|
2306 | (yonik, Noble Paul, Akshay Ukey via shalin) |
---|
2307 | |
---|
2308 | 3. SOLR-658: Allow Solr to load index from arbitrary directory in dataDir |
---|
2309 | (Noble Paul, Akshay Ukey via shalin) |
---|
2310 | |
---|
2311 | 4. SOLR-793: Add 'commitWithin' argument to the update add command. This behaves |
---|
2312 | similar to the global autoCommit maxTime argument except that it is set for |
---|
2313 | each request. (ryan) |
---|
2314 | |
---|
2315 | 5. SOLR-670: Add support for rollbacks in UpdateHandler. This allows user to rollback all changes |
---|
2316 | since the last commit. (Noble Paul, koji via shalin) |
---|
2317 | |
---|
2318 | 6. SOLR-813: Adding DoubleMetaphone Filter and Factory. Similar to the PhoneticFilter, |
---|
2319 | but this uses DoubleMetaphone specific calls (including alternate encoding) |
---|
2320 | (Todd Feak via ryan) |
---|
2321 | |
---|
2322 | 7. SOLR-680: Add StatsComponent. This gets simple statistics on matched numeric fields, |
---|
2323 | including: min, max, mean, median, stddev. (koji, ryan) |
---|
2324 | |
---|
2325 | 7.1 SOLR-1380: Added support for multi-valued fields (Harish Agarwal via gsingers) |
---|
2326 | |
---|
2327 | 8. SOLR-561: Added Replication implemented in Java as a request handler. Supports index replication |
---|
2328 | as well as configuration replication and exposes detailed statistics and progress information |
---|
2329 | on the Admin page. Works on all platforms. (Noble Paul, yonik, Akshay Ukey, shalin) |
---|
2330 | |
---|
2331 | 9. SOLR-746: Added "omitHeader" request parameter to omit the header from the response. |
---|
2332 | (Noble Paul via shalin) |
---|
2333 | |
---|
2334 | 10. SOLR-651: Added TermVectorComponent for serving up term vector information, plus IDF. |
---|
2335 | See http://wiki.apache.org/solr/TermVectorComponent (gsingers, Vaijanath N. Rao, Noble Paul) |
---|
2336 | |
---|
2337 | 12. SOLR-795: SpellCheckComponent supports building indices on optimize if configured in solrconfig.xml |
---|
2338 | (Jason Rennie, shalin) |
---|
2339 | |
---|
2340 | 13. SOLR-667: A LRU cache implementation based upon ConcurrentHashMap and other techniques to reduce |
---|
2341 | contention and synchronization overhead, to utilize multiple CPU cores more effectively. |
---|
2342 | (Fuad Efendi, Noble Paul, yonik via shalin) |
---|
2343 | |
---|
2344 | 14. SOLR-465: Add configurable DirectoryProvider so that alternate Directory |
---|
2345 | implementations can be specified via solrconfig.xml. The default |
---|
2346 | DirectoryProvider will use NIOFSDirectory for better concurrency |
---|
2347 | on non Windows platforms. (Mark Miller, TJ Laurenzo via yonik) |
---|
2348 | |
---|
2349 | 15. SOLR-822: Add CharFilter so that characters can be filtered (e.g. character normalization) |
---|
2350 | before Tokenizer/TokenFilters. (koji) |
---|
2351 | |
---|
2352 | 16. SOLR-829: Allow slaves to request compressed files from master during replication |
---|
2353 | (Simon Collins, Noble Paul, Akshay Ukey via shalin) |
---|
2354 | |
---|
2355 | 17. SOLR-877: Added TermsComponent for accessing Lucene's TermEnum capabilities. |
---|
2356 | Useful for auto suggest and possibly distributed search. Not distributed search compliant. (gsingers) |
---|
2357 | - Added mincount and maxcount options (Khee Chin via gsingers) |
---|
2358 | |
---|
2359 | 18. SOLR-538: Add maxChars attribute for copyField function so that the length limit for destination |
---|
2360 | can be specified. |
---|
2361 | (Georgios Stamatis, Lars Kotthoff, Chris Harris via koji) |
---|
2362 | |
---|
2363 | 19. SOLR-284: Added support for extracting content from binary documents like MS Word and PDF using Apache Tika. See also contrib/extraction/CHANGES.txt (Eric Pugh, Chris Harris, yonik, gsingers) |
---|
2364 | |
---|
2365 | 20. SOLR-819: Added factories for Arabic support (gsingers) |
---|
2366 | |
---|
2367 | 21. SOLR-781: Distributed search ability to sort field.facet values |
---|
2368 | lexicographically. facet.sort values "true" and "false" are |
---|
2369 | also deprecated and replaced with "count" and "lex". |
---|
2370 | (Lars Kotthoff via yonik) |
---|
2371 | |
---|
2372 | 22. SOLR-821: Add support for replication to copy conf file to slave with a different name. This allows replication |
---|
2373 | of solrconfig.xml |
---|
2374 | (Noble Paul, Akshay Ukey via shalin) |
---|
2375 | |
---|
2376 | 23. SOLR-911: Add support for multi-select faceting by allowing filters to be |
---|
2377 | tagged and facet commands to exclude certain filters. This patch also |
---|
2378 | added the ability to change the output key for facets in the response, and |
---|
2379 | optimized distributed faceting refinement by lowering parsing overhead and |
---|
2380 | by making requests and responses smaller. |
---|
2381 | |
---|
2382 | 24. SOLR-876: WordDelimiterFilter now supports a splitOnNumerics |
---|
2383 | option, as well as a list of protected terms. |
---|
2384 | (Dan Rosher via hossman) |
---|
2385 | |
---|
2386 | 25. SOLR-928: SolrDocument and SolrInputDocument now implement the Map<String,?> |
---|
2387 | interface. This should make plugging into other standard tools easier. (ryan) |
---|
2388 | |
---|
2389 | 26. SOLR-847: Enhance the snappull command in ReplicationHandler to accept masterUrl. |
---|
2390 | (Noble Paul, Preetam Rao via shalin) |
---|
2391 | |
---|
2392 | 27. SOLR-540: Add support for globbing in field names to highlight. |
---|
2393 | For example, hl.fl=*_text will highlight all fieldnames ending with |
---|
2394 | _text. (Lars Kotthoff via yonik) |
---|
2395 | |
---|
2396 | 28. SOLR-906: Adding a StreamingUpdateSolrServer that writes update commands to |
---|
2397 | an open HTTP connection. If you are using solrj for bulk update requests |
---|
2398 | you should consider switching to this implementaion. However, note that |
---|
2399 | the error handling is not immediate as it is with the standard SolrServer. |
---|
2400 | (ryan) |
---|
2401 | |
---|
2402 | 29. SOLR-865: Adding support for document updates in binary format and corresponding support in Solrj client. |
---|
2403 | (Noble Paul via shalin) |
---|
2404 | |
---|
2405 | 30. SOLR-763: Add support for Lucene's PositionFilter (Mck SembWever via shalin) |
---|
2406 | |
---|
2407 | 31. SOLR-966: Enhance the map() function query to take in an optional default value (Noble Paul, shalin) |
---|
2408 | |
---|
2409 | 32. SOLR-820: Support replication on startup of master with new index. (Noble Paul, Akshay Ukey via shalin) |
---|
2410 | |
---|
2411 | 33. SOLR-943: Make it possible to specify dataDir in solr.xml and accept the dataDir as a request parameter for |
---|
2412 | the CoreAdmin create command. (Noble Paul via shalin) |
---|
2413 | |
---|
2414 | 34. SOLR-850: Addition of timeouts for distributed searching. Configurable through 'shard-socket-timeout' and |
---|
2415 | 'shard-connection-timeout' parameters in SearchHandler. (Patrick O'Leary via shalin) |
---|
2416 | |
---|
2417 | 35. SOLR-799: Add support for hash based exact/near duplicate document |
---|
2418 | handling. (Mark Miller, yonik) |
---|
2419 | |
---|
2420 | 36. SOLR-1026: Add protected words support to SnowballPorterFilterFactory (ehatcher) |
---|
2421 | |
---|
2422 | 37. SOLR-739: Add support for OmitTf (Mark Miller via yonik) |
---|
2423 | |
---|
2424 | 38. SOLR-1046: Nested query support for the function query parser |
---|
2425 | and lucene query parser (the latter existed as an undocumented |
---|
2426 | feature in 1.3) (yonik) |
---|
2427 | |
---|
2428 | 39. SOLR-940: Add support for Lucene's Trie Range Queries by providing new FieldTypes in |
---|
2429 | schema for int, float, long, double and date. Single-valued Trie based |
---|
2430 | fields with a precisionStep will index multiple precisions and enable |
---|
2431 | faster range queries. (Uwe Schindler, yonik, shalin) |
---|
2432 | |
---|
2433 | 40. SOLR-1038: Enhance CommonsHttpSolrServer to add docs in batch using an iterator API (Noble Paul via shalin) |
---|
2434 | |
---|
2435 | 41. SOLR-844: A SolrServer implementation to front-end multiple solr servers and provides load balancing and failover |
---|
2436 | support (Noble Paul, Mark Miller, hossman via shalin) |
---|
2437 | |
---|
2438 | 42. SOLR-939: ValueSourceRangeFilter/Query - filter based on values in a FieldCache entry or on any arbitrary function of field values. (yonik) |
---|
2439 | |
---|
2440 | 43. SOLR-1095: Fixed performance problem in the StopFilterFactory and simplified code. Added tests as well. (gsingers) |
---|
2441 | |
---|
2442 | 44. SOLR-1096: Introduced httpConnTimeout and httpReadTimeout in replication slave configuration to avoid stalled |
---|
2443 | replication. (Jeff Newburn, Noble Paul, shalin) |
---|
2444 | |
---|
2445 | 45. SOLR-1115: <bool>on</bool> and <bool>yes</bool> work as expected in solrconfig.xml. (koji) |
---|
2446 | |
---|
2447 | 46. SOLR-1099: A FieldAnalysisRequestHandler which provides the analysis functionality of the web admin page as |
---|
2448 | a service. The AnalysisRequestHandler is renamed to DocumentAnalysisRequestHandler which is enhanced with |
---|
2449 | query analysis and showMatch support. AnalysisRequestHandler is now deprecated. Support for both |
---|
2450 | FieldAnalysisRequestHandler and DocumentAnalysisRequestHandler is also provided in the Solrj client. |
---|
2451 | (Uri Boness, shalin) |
---|
2452 | |
---|
2453 | 47. SOLR-1106: Made CoreAdminHandler Actions pluggable so that additional actions may be plugged in or the existing |
---|
2454 | ones can be overridden if needed. (Kay Kay, Noble Paul, shalin) |
---|
2455 | |
---|
2456 | 48. SOLR-1124: Add a top() function query that causes it's argument to |
---|
2457 | have it's values derived from the top level IndexReader, even when |
---|
2458 | invoked from a sub-reader. top() is implicitly used for the |
---|
2459 | ord() and rord() functions. (yonik) |
---|
2460 | |
---|
2461 | 49. SOLR-1110: Support sorting on trie fields with Distributed Search. (Mark Miller, Uwe Schindler via shalin) |
---|
2462 | |
---|
2463 | 50. SOLR-1121: CoreAdminhandler should not need a core . This makes it possible to start a Solr server w/o a core .(noble) |
---|
2464 | |
---|
2465 | 51. SOLR-769: Added support for clustering in contrib/clustering. See http://wiki.apache.org/solr/ClusteringComponent for more info. (gsingers, Stanislaw Osinski) |
---|
2466 | |
---|
2467 | 52. SOLR-1175: disable/enable replication on master side. added two commands 'enableReplication' and 'disableReplication' (noble) |
---|
2468 | |
---|
2469 | 53. SOLR-1179: DocSets can now be used as Lucene Filters via |
---|
2470 | DocSet.getTopFilter() (yonik) |
---|
2471 | |
---|
2472 | 54. SOLR-1116: Add a Binary FieldType (noble) |
---|
2473 | |
---|
2474 | 55. SOLR-1051: Support the merge of multiple indexes as a CoreAdmin and an update command (Ning Li via shalin) |
---|
2475 | |
---|
2476 | 56. SOLR-1152: Snapshoot on ReplicationHandler should accept location as a request parameter (shalin) |
---|
2477 | |
---|
2478 | 57. SOLR-1204: Enhance SpellingQueryConverter to handle UTF-8 instead of ASCII only. |
---|
2479 | Use the NMTOKEN syntax for matching field names. |
---|
2480 | (Michael Ludwig, shalin) |
---|
2481 | |
---|
2482 | 58. SOLR-1189: Support providing username and password for basic HTTP authentication in Java replication |
---|
2483 | (Matthew Gregg, shalin) |
---|
2484 | |
---|
2485 | 59. SOLR-243: Add configurable IndexReaderFactory so that alternate IndexReader implementations |
---|
2486 | can be specified via solrconfig.xml. Note that using a custom IndexReader may be incompatible |
---|
2487 | with ReplicationHandler (see comments in SOLR-1366). This should be treated as an experimental feature. |
---|
2488 | (Andrzej Bialecki, hossman, Mark Miller, John Wang) |
---|
2489 | |
---|
2490 | 60. SOLR-1214: differentiate between solr home and instanceDir .deprecates the method SolrResourceLoader#locateInstanceDir() |
---|
2491 | and it is renamed to locateSolrHome (noble) |
---|
2492 | |
---|
2493 | 61. SOLR-1216 : disambiguate the replication command names. 'snappull' becomes 'fetchindex' 'abortsnappull' becomes 'abortfetch' (noble) |
---|
2494 | |
---|
2495 | 62. SOLR-1145: Add capability to specify an infoStream log file for the underlying Lucene IndexWriter in solrconfig.xml. |
---|
2496 | This is an advanced debug log file that can be used to aid developers in fixing IndexWriter bugs. See the commented |
---|
2497 | out example in the example solrconfig.xml under the indexDefaults section. |
---|
2498 | (Chris Harris, Mark Miller) |
---|
2499 | |
---|
2500 | 63. SOLR-1256: Show the output of CharFilters in analysis.jsp. (koji) |
---|
2501 | |
---|
2502 | 64. SOLR-1266: Added stemEnglishPossessive option (default=true) to WordDelimiterFilter |
---|
2503 | that allows disabling of english possessive stemming (removal of trailing 's from tokens) |
---|
2504 | (Robert Muir via yonik) |
---|
2505 | |
---|
2506 | 65. SOLR-1237: firstSearcher and newSearcher can now be identified via the CommonParams.EVENT (evt) parameter |
---|
2507 | in a request. This allows a RequestHandler or SearchComponent to know when a newSearcher or firstSearcher |
---|
2508 | event happened. QuerySenderListender is the only implementation in Solr that implements this, but outside |
---|
2509 | implementations may wish to. See the AbstractSolrEventListener for a helper method. (gsingers) |
---|
2510 | |
---|
2511 | 66. SOLR-1343: Added HTMLStripCharFilter and marked HTMLStripReader, HTMLStripWhitespaceTokenizerFactory and |
---|
2512 | HTMLStripStandardTokenizerFactory deprecated. To strip HTML tags, HTMLStripCharFilter can be used |
---|
2513 | with an arbitrary Tokenizer. (koji) |
---|
2514 | |
---|
2515 | 67. SOLR-1275: Add expungeDeletes to DirectUpdateHandler2 (noble) |
---|
2516 | |
---|
2517 | 68. SOLR-1372: Enhance FieldAnalysisRequestHandler to accept field value from content stream (ehatcher) |
---|
2518 | |
---|
2519 | 69. SOLR-1370: Show the output of CharFilters in FieldAnalysisRequestHandler (koji) |
---|
2520 | |
---|
2521 | 70. SOLR-1373: Add Filter query to admin/form.jsp |
---|
2522 | (Jason Rutherglen via hossman) |
---|
2523 | |
---|
2524 | 71. SOLR-1368: Add ms() function query for getting milliseconds from dates and for |
---|
2525 | high precision date subtraction, add sub() for subtracting other arguments. |
---|
2526 | (yonik) |
---|
2527 | |
---|
2528 | 72. SOLR-1156: Sort TermsComponent results by frequency (Matt Weber via yonik) |
---|
2529 | |
---|
2530 | 73. SOLR-1335 : load core properties from a properties file (noble) |
---|
2531 | |
---|
2532 | 74. SOLR-1385 : Add an 'enable' attribute to all plugins (noble) |
---|
2533 | |
---|
2534 | 75. SOLR-1414 : implicit core properties are not set for single core (noble) |
---|
2535 | |
---|
2536 | 76. SOLR-659 : Adds shards.start and shards.rows to distributed search |
---|
2537 | to allow more efficient bulk queries (those that retrieve many or all |
---|
2538 | documents). (Brian Whitman via yonik) |
---|
2539 | |
---|
2540 | 77. SOLR-1321: Add better support for efficient wildcard handling (Andrzej Bialecki, Robert Muir, gsingers) |
---|
2541 | |
---|
2542 | 78. SOLR-1326 : New interface PluginInfoInitialized for all types of plugin (noble) |
---|
2543 | |
---|
2544 | 79. SOLR-1447 : Simple property injection. <mergePolicy> & <mergeScheduler> syntaxes are now deprecated |
---|
2545 | (Jason Rutherglen, noble) |
---|
2546 | |
---|
2547 | 80. SOLR-908 : CommonGramsFilterFactory/CommonGramsQueryFilterFactory for |
---|
2548 | speeding up phrase queries containing common words by indexing |
---|
2549 | n-grams and using them at query time. |
---|
2550 | (Tom Burton-West, Jason Rutherglen via yonik) |
---|
2551 | |
---|
2552 | 81. SOLR-1292: Add FieldCache introspection to stats.jsp and JMX Monitoring via |
---|
2553 | a new SolrFieldCacheMBean. (hossman) |
---|
2554 | |
---|
2555 | 82. SOLR-1167: Solr Config now supports XInclude for XML engines that can support it. (Bryan Talbot via gsingers) |
---|
2556 | |
---|
2557 | 83. SOLR-1478: Enable sort by Lucene docid. (ehatcher) |
---|
2558 | |
---|
2559 | 84. SOLR-1449: Add <lib> elements to solrconfig.xml to specifying additional |
---|
2560 | classpath directories and regular expressions. (hossman via yonik) |
---|
2561 | |
---|
2562 | |
---|
2563 | Optimizations |
---|
2564 | ---------------------- |
---|
2565 | 1. SOLR-374: Use IndexReader.reopen to save resources by re-using parts of the |
---|
2566 | index that haven't changed. (Mark Miller via yonik) |
---|
2567 | |
---|
2568 | 2. SOLR-808: Write string keys in Maps as extern strings in the javabin format. (Noble Paul via shalin) |
---|
2569 | |
---|
2570 | 3. SOLR-475: New faceting method with better performance and smaller memory usage for |
---|
2571 | multi-valued fields with many unique values but relatively few values per document. |
---|
2572 | Controllable via the facet.method parameter - "fc" is the new default method and "enum" |
---|
2573 | is the original method. (yonik) |
---|
2574 | |
---|
2575 | 4. SOLR-970: Use an ArrayList in SolrPluginUtils.parseQueryStrings |
---|
2576 | since we know exactly how long the List will be in advance. |
---|
2577 | (Kay Kay via hossman) |
---|
2578 | |
---|
2579 | 5. SOLR-1002: Change SolrIndexSearcher to use insertWithOverflow |
---|
2580 | with reusable priority queue entries to reduce the amount of |
---|
2581 | generated garbage during searching. (Mark Miller via yonik) |
---|
2582 | |
---|
2583 | 6. SOLR-971: Replace StringBuffer with StringBuilder for instances that do not require thread-safety. |
---|
2584 | (Kay Kay via shalin) |
---|
2585 | |
---|
2586 | 7. SOLR-921: SolrResourceLoader must cache short class name vs fully qualified classname |
---|
2587 | (Noble Paul, hossman via shalin) |
---|
2588 | |
---|
2589 | 8. SOLR-973: CommonsHttpSolrServer writes the xml directly to the server. |
---|
2590 | (Noble Paul via shalin) |
---|
2591 | |
---|
2592 | 9. SOLR-1108: Remove un-needed synchronization in SolrCore constructor. |
---|
2593 | (Noble Paul via shalin) |
---|
2594 | |
---|
2595 | 10. SOLR-1166: Speed up docset/filter generation by avoiding top-level |
---|
2596 | score() call and iterating over leaf readers with TermDocs. (yonik) |
---|
2597 | |
---|
2598 | 11. SOLR-1169: SortedIntDocSet - a new small set implementation |
---|
2599 | that saves memory over HashDocSet, is faster to construct, |
---|
2600 | is ordered for easier implementation of skipTo, and is faster |
---|
2601 | in the general case. (yonik) |
---|
2602 | |
---|
2603 | 12. SOLR-1165: Use Lucene Filters and pass them down to the Lucene |
---|
2604 | search methods to filter earlier and improve performance. (yonik) |
---|
2605 | |
---|
2606 | 13. SOLR-1111: Use per-segment sorting to share fieldcache elements |
---|
2607 | across unchanged segments. This saves memory and reduces |
---|
2608 | commit times for incremental updates to the index. (yonik) |
---|
2609 | |
---|
2610 | 14. SOLR-1188: Minor efficiency improvement in TermVectorComponent related to ignoring positions or offsets (gsingers) |
---|
2611 | |
---|
2612 | 15. SOLR-1150: Load Documents for Highlighting one at a time rather than |
---|
2613 | all at once to avoid OOM with many large Documents. (Siddharth Gargate via Mark Miller) |
---|
2614 | |
---|
2615 | 16. SOLR-1353: Implement and use reusable token streams for analysis. (Robert Muir, yonik) |
---|
2616 | |
---|
2617 | 17. SOLR-1296: Enables setting IndexReader's termInfosIndexDivisor via a new attribute to StandardIndexReaderFactory. Enables |
---|
2618 | setting termIndexInterval to IndexWriter via SolrIndexConfig. (Jason Rutherglen, hossman, gsingers) |
---|
2619 | |
---|
2620 | Bug Fixes |
---|
2621 | ---------------------- |
---|
2622 | 1. SOLR-774: Fixed logging level display (Sean Timm via Otis Gospodnetic) |
---|
2623 | |
---|
2624 | 2. SOLR-771: CoreAdminHandler STATUS should display 'normalized' paths (koji, hossman, shalin) |
---|
2625 | |
---|
2626 | 3. SOLR-532: WordDelimiterFilter now respects payloads and other attributes of the original Token by |
---|
2627 | using Token.clone() (Tricia Williams, gsingers) |
---|
2628 | |
---|
2629 | 4. SOLR-805: DisMax queries are not being cached in QueryResultCache (Todd Feak via koji) |
---|
2630 | |
---|
2631 | 5. SOLR-751: WordDelimiterFilter didn't adjust the start offset of single |
---|
2632 | tokens that started with delimiters, leading to incorrect highlighting. |
---|
2633 | (Stefan Oestreicher via yonik) |
---|
2634 | |
---|
2635 | 7. SOLR-843: SynonymFilterFactory cannot handle multiple synonym files correctly (koji) |
---|
2636 | |
---|
2637 | 8. SOLR-840: BinaryResponseWriter does not handle incompatible data in fields (Noble Paul via shalin) |
---|
2638 | |
---|
2639 | 9. SOLR-803: CoreAdminRequest.createCore fails because name parameter isn't set (Sean Colombo via ryan) |
---|
2640 | |
---|
2641 | 10. SOLR-869: Fix file descriptor leak in SolrResourceLoader#getLines (Mark Miller, shalin) |
---|
2642 | |
---|
2643 | 11. SOLR-872: Better error message for incorrect copyField destination (Noble Paul via shalin) |
---|
2644 | |
---|
2645 | 12. SOLR-879: Enable position increments in the query parser and fix the |
---|
2646 | example schema to enable position increments for the stop filter in |
---|
2647 | both the index and query analyzers to fix the bug with phrase queries |
---|
2648 | with stopwords. (yonik) |
---|
2649 | |
---|
2650 | 13. SOLR-836: Add missing "a" to the example stopwords.txt (yonik) |
---|
2651 | |
---|
2652 | 14. SOLR-892: Fix serialization of booleans for PHPSerializedResponseWriter |
---|
2653 | (yonik) |
---|
2654 | |
---|
2655 | 15. SOLR-898: Fix null pointer exception for the JSON response writer |
---|
2656 | based formats when nl.json=arrarr with null keys. (yonik) |
---|
2657 | |
---|
2658 | 16. SOLR-901: FastOutputStream ignores write(byte[]) call. (Noble Paul via shalin) |
---|
2659 | |
---|
2660 | 17. SOLR-807: BinaryResponseWriter writes fieldType.toExternal if it is not a supported type, |
---|
2661 | otherwise it writes fieldType.toObject. This fixes the bug with encoding/decoding UUIDField. |
---|
2662 | (koji, Noble Paul, shalin) |
---|
2663 | |
---|
2664 | 18. SOLR-863: SolrCore.initIndex should close the directory it gets for clearing the lock and |
---|
2665 | use the DirectoryFactory. (Mark Miller via shalin) |
---|
2666 | |
---|
2667 | 19. SOLR-802: Fix a potential null pointer error in the distributed FacetComponent |
---|
2668 | (David Bowen via ryan) |
---|
2669 | |
---|
2670 | 20. SOLR-346: Use perl regex to improve accuracy of finding latest snapshot in snapinstaller (billa) |
---|
2671 | |
---|
2672 | 21. SOLR-830: Use perl regex to improve accuracy of finding latest snapshot in snappuller (billa) |
---|
2673 | |
---|
2674 | 22. SOLR-897: Fixed Argument list too long error when there are lots of snapshots/backups (Dan Rosher via billa) |
---|
2675 | |
---|
2676 | 23. SOLR-925: Fixed highlighting on fields with multiValued="true" and termOffsets="true" (koji) |
---|
2677 | |
---|
2678 | 24. SOLR-902: FastInputStream#read(byte b[], int off, int len) gives incorrect results when amount left to read is less |
---|
2679 | than buffer size (Noble Paul via shalin) |
---|
2680 | |
---|
2681 | 25. SOLR-978: Old files are not removed from slaves after replication (Jaco, Noble Paul, shalin) |
---|
2682 | |
---|
2683 | 26. SOLR-883: Implicit properties are not set for Cores created through CoreAdmin (Noble Paul via shalin) |
---|
2684 | |
---|
2685 | 27. SOLR-991: Better error message when parsing solrconfig.xml fails due to malformed XML. Error message notes the name |
---|
2686 | of the file being parsed. (Michael Henson via shalin) |
---|
2687 | |
---|
2688 | 28. SOLR-1008: Fix stats.jsp XML encoding for <stat> item entries with ampersands in their names. (ehatcher) |
---|
2689 | |
---|
2690 | 29. SOLR-976: deleteByQuery is ignored when deleteById is placed prior to deleteByQuery in a <delete>. |
---|
2691 | Now both delete by id and delete by query can be specified at the same time as follows. (koji) |
---|
2692 | <delete> |
---|
2693 | <id>05991</id><id>06000</id> |
---|
2694 | <query>office:Bridgewater</query><query>office:Osaka</query> |
---|
2695 | </delete> |
---|
2696 | |
---|
2697 | 30. SOLR-1016: HTTP 503 error changes 500 in SolrCore (koji) |
---|
2698 | |
---|
2699 | 31. SOLR-1015: Incomplete information in replication admin page and http command response when server |
---|
2700 | is both master and slave i.e. when server is a repeater (Akshay Ukey via shalin) |
---|
2701 | |
---|
2702 | 32. SOLR-1018: Slave is unable to replicate when server acts as repeater (as both master and slave) |
---|
2703 | (Akshay Ukey, Noble Paul via shalin) |
---|
2704 | |
---|
2705 | 33. SOLR-1031: Fix XSS vulnerability in schema.jsp (Paul Lovvik via ehatcher) |
---|
2706 | |
---|
2707 | 34. SOLR-1064: registry.jsp incorrectly displaying info for last core initialized |
---|
2708 | regardless of what the current core is. (hossman) |
---|
2709 | |
---|
2710 | 35. SOLR-1072: absolute paths used in sharedLib attribute were |
---|
2711 | incorrectly treated as relative paths. (hossman) |
---|
2712 | |
---|
2713 | 36. SOLR-1104: Fix some rounding errors in LukeRequestHandler's histogram (hossman) |
---|
2714 | |
---|
2715 | 37. SOLR-1125: Use query analyzer rather than index analyzer for queryFieldType in QueryElevationComponent |
---|
2716 | (koji) |
---|
2717 | |
---|
2718 | 38. SOLR-1126: Replicated files have incorrect timestamp (Jian Han Guo, Jeff Newburn, Noble Paul via shalin) |
---|
2719 | |
---|
2720 | 39. SOLR-1094: Incorrect value of correctlySpelled attribute in some cases (David Smiley, Mark Miller via shalin) |
---|
2721 | |
---|
2722 | 40. SOLR-965: Better error message when <pingQuery> is not configured. |
---|
2723 | (Mark Miller via hossman) |
---|
2724 | |
---|
2725 | 41. SOLR-1135: Java replication creates Snapshot in the directory where Solr was launched (Jianhan Guo via shalin) |
---|
2726 | |
---|
2727 | 42. SOLR-1138: Query Elevation Component now gracefully handles missing queries. (gsingers) |
---|
2728 | |
---|
2729 | 43. SOLR-929: LukeRequestHandler should return "dynamicBase" only if the field is dynamic. |
---|
2730 | (Peter Wolanin, koji) |
---|
2731 | |
---|
2732 | 44. SOLR-1141: NullPointerException during snapshoot command in java based replication (Jian Han Guo, shalin) |
---|
2733 | |
---|
2734 | 45. SOLR-1078: Fixes to WordDelimiterFilter to avoid splitting or dropping |
---|
2735 | international non-letter characters such as non spacing marks. (yonik) |
---|
2736 | |
---|
2737 | 46. SOLR-825, SOLR-1221: Enables highlighting for range/wildcard/fuzzy/prefix queries if using hl.usePhraseHighlighter=true |
---|
2738 | and hl.highlightMultiTerm=true. Also make both options default to true. (Mark Miller, yonik) |
---|
2739 | |
---|
2740 | 47. SOLR-1174: Fix Logging admin form submit url for multicore. (Jacob Singh via shalin) |
---|
2741 | |
---|
2742 | 48. SOLR-1182: Fix bug in OrdFieldSource#equals which could cause a bug with OrdFieldSource caching |
---|
2743 | on OrdFieldSource#hashcode collisions. (Mark Miller) |
---|
2744 | |
---|
2745 | 49. SOLR-1207: equals method should compare this and other of DocList in DocSetBase (koji) |
---|
2746 | |
---|
2747 | 50. SOLR-1242: Human readable JVM info from system handler does integer cutoff rounding, even when dealing |
---|
2748 | with GB. Fixed to round to one decimal place. (Jay Hill, Mark Miller) |
---|
2749 | |
---|
2750 | 51. SOLR-1243: Admin RequestHandlers should not be cached over HTTP. (Mark Miller) |
---|
2751 | |
---|
2752 | 52. SOLR-1260: Fix implementations of set operations for DocList subclasses |
---|
2753 | and fix a bug in HashDocSet construction when offset != 0. These bugs |
---|
2754 | never manifested in normal Solr use and only potentially affect |
---|
2755 | custom code. (yonik) |
---|
2756 | |
---|
2757 | 53. SOLR-1171: Fix LukeRequestHandler so it doesn't rely on SolrQueryParser |
---|
2758 | and report incorrect stats when field names contain characters |
---|
2759 | SolrQueryParser considers special. |
---|
2760 | (hossman) |
---|
2761 | |
---|
2762 | 54. SOLR-1317: Fix CapitalizationFilterFactory to work when keep parameter is not specified. |
---|
2763 | (ehatcher) |
---|
2764 | |
---|
2765 | 55. SOLR-1342: CapitalizationFilterFactory uses incorrect term length calculations. |
---|
2766 | (Robert Muir via Mark Miller) |
---|
2767 | |
---|
2768 | 56. SOLR-1359: DoubleMetaphoneFilter didn't index original tokens if there was no |
---|
2769 | alternative, and could incorrectly skip or reorder tokens. (yonik) |
---|
2770 | |
---|
2771 | 57. SOLR-1360: Prevent PhoneticFilter from producing duplicate tokens. (yonik) |
---|
2772 | |
---|
2773 | 58. SOLR-1371: LukeRequestHandler/schema.jsp errored if schema had no |
---|
2774 | uniqueKey field. The new test for this also (hopefully) adds some |
---|
2775 | future proofing against similar bugs in the future. As a side |
---|
2776 | effect QueryElevationComponentTest was refactored, and a bug in |
---|
2777 | that test was found. (hossman) |
---|
2778 | |
---|
2779 | 59. SOLR-914: General finalize() improvements. No finalizer delegates |
---|
2780 | to the respective close/destroy method w/o first checking if it's |
---|
2781 | already been closed/destroyed; if it hasn't a, SEVERE error is |
---|
2782 | logged first. (noble, hossman) |
---|
2783 | |
---|
2784 | 60. SOLR-1362: WordDelimiterFilter had inconsistent behavior when setting |
---|
2785 | the position increment of tokens following a token consisting of all |
---|
2786 | delimiters, and could additionally lose big position increments. |
---|
2787 | (Robert Muir, yonik) |
---|
2788 | |
---|
2789 | 61. SOLR-1091: Jetty's use of CESU-8 for code points outside the BMP |
---|
2790 | resulted in invalid output from the serialized PHP writer. (yonik) |
---|
2791 | |
---|
2792 | 62. SOLR-1103: LukeRequestHandler (and schema.jsp) have been fixed to |
---|
2793 | include the "1" (ie: 2**0) bucket in the term histogram data. |
---|
2794 | (hossman) |
---|
2795 | |
---|
2796 | 63. SOLR-1398: Add offset corrections in PatternTokenizerFactory. |
---|
2797 | (Anders Melchiorsen, koji) |
---|
2798 | |
---|
2799 | 64. SOLR-1400: Properly handle zero-length tokens in TrimFilter. This |
---|
2800 | was not a bug in any released version. (Peter Wolanin, gsingers) |
---|
2801 | |
---|
2802 | 65. SOLR-1071: spellcheck.extendedResults returns an invalid JSON response |
---|
2803 | when count > 1. To fix, the extendedResults format was changed. |
---|
2804 | (Uri Boness, yonik) |
---|
2805 | |
---|
2806 | 66. SOLR-1381: Fixed improper handling of fields that have only term positions and not term offsets during Highlighting (Thorsten Fischer, gsingers) |
---|
2807 | |
---|
2808 | 67. SOLR-1427: Fixed registry.jsp issue with MBeans (gsingers) |
---|
2809 | |
---|
2810 | 68. SOLR-1468: SolrJ's XML response parsing threw an exception for null |
---|
2811 | names, such as those produced when facet.missing=true (yonik) |
---|
2812 | |
---|
2813 | 69. SOLR-1471: Fixed issue with calculating missing values for facets in single valued cases in Stats Component. |
---|
2814 | This is not correctly calculated for the multivalued case. (James Miller, gsingers) |
---|
2815 | |
---|
2816 | 70. SOLR-1481: Fixed omitHeader parameter for PHP ResponseWriter. (Jun Ohtani via billa) |
---|
2817 | |
---|
2818 | 71. SOLR-1448: Add weblogic.xml to solr webapp to enable correct operation in |
---|
2819 | WebLogic. (Ilan Rabinovitch via yonik) |
---|
2820 | |
---|
2821 | 72. SOLR-1504: empty char mapping can cause ArrayIndexOutOfBoundsException in analysis.jsp and co. |
---|
2822 | (koji) |
---|
2823 | |
---|
2824 | 73. SOLR-1394: HTMLStripCharFilter split tokens that contained entities and |
---|
2825 | often calculated offsets incorrectly for entities. |
---|
2826 | (Anders Melchiorsen via yonik) |
---|
2827 | |
---|
2828 | 74. SOLR-1517: Admin pages could stall waiting for localhost name resolution |
---|
2829 | if reverse DNS wasn't configured; this was changed so the DNS resolution |
---|
2830 | is attempted only once the first time an admin page is loaded. |
---|
2831 | (hossman) |
---|
2832 | |
---|
2833 | 75. SOLR-1529: More than 8 deleteByQuery commands in a single request |
---|
2834 | caused an error to be returned, although the deletes were |
---|
2835 | still executed. (asmodean via yonik) |
---|
2836 | |
---|
2837 | Other Changes |
---|
2838 | ---------------------- |
---|
2839 | 1. Upgraded to Lucene 2.4.0 (yonik) |
---|
2840 | |
---|
2841 | 2. SOLR-805: Upgraded to Lucene 2.9-dev (r707499) (koji) |
---|
2842 | |
---|
2843 | 3. DumpRequestHandler (/debug/dump): changed 'fieldName' to 'sourceInfo'. (ehatcher) |
---|
2844 | |
---|
2845 | 4. SOLR-852: Refactored common code in CSVRequestHandler and XMLUpdateRequestHandler (gsingers, ehatcher) |
---|
2846 | |
---|
2847 | 5. SOLR-871: Removed dependency on stax-utils.jar. If you using solr.jar and running |
---|
2848 | java 6, you can also remove woodstox and geronimo. (ryan) |
---|
2849 | |
---|
2850 | 6. SOLR-465: Upgraded to Lucene 2.9-dev (r719351) (shalin) |
---|
2851 | |
---|
2852 | 7. SOLR-889: Upgraded to commons-io-1.4.jar and commons-fileupload-1.2.1.jar (ryan) |
---|
2853 | |
---|
2854 | 8. SOLR-875: Upgraded to Lucene 2.9-dev (r723985) and consolidated the BitSet implementations (Michael Busch, gsingers) |
---|
2855 | |
---|
2856 | 9. SOLR-819: Upgraded to Lucene 2.9-dev (r724059) to get access to Arabic public constructors (gsingers) |
---|
2857 | and |
---|
2858 | 10. SOLR-900: Moved solrj into /src/solrj. The contents of solr-common.jar is now included |
---|
2859 | in the solr-solrj.jar. (ryan) |
---|
2860 | |
---|
2861 | 11. SOLR-924: Code cleanup: make all existing finalize() methods call |
---|
2862 | super.finalize() in a finally block. All current instances extend |
---|
2863 | Object, so this doesn't fix any bugs, but helps protect against |
---|
2864 | future changes. (Kay Kay via hossman) |
---|
2865 | |
---|
2866 | 12. SOLR-885: NamedListCodec is renamed to JavaBinCodec and returns Object instead of NamedList. |
---|
2867 | (Noble Paul, yonik via shalin) |
---|
2868 | |
---|
2869 | 13. SOLR-84: Use new Solr logo in admin (Michiel via koji) |
---|
2870 | |
---|
2871 | 14. SOLR-981: groupId for Woodstox dependency in maven solrj changed to org.codehaus.woodstox (Tim Taranov via shalin) |
---|
2872 | |
---|
2873 | 15. Upgraded to Lucene 2.9-dev r738218 (yonik) |
---|
2874 | |
---|
2875 | 16. SOLR-959: Refactored TestReplicationHandler to remove hardcoded port numbers (hossman, Akshay Ukey via shalin) |
---|
2876 | |
---|
2877 | 17. Upgraded to Lucene 2.9-dev r742220 (yonik) |
---|
2878 | |
---|
2879 | 18. SOLR-1022: Better "ignored" field in example schema.xml (Peter Wolanin via hossman) |
---|
2880 | |
---|
2881 | 19. SOLR-967: New type-safe constructor for NamedList (Kay Kay via hossman) |
---|
2882 | |
---|
2883 | 20. SOLR-1036: Change default QParser from "lucenePlusSort" to "lucene" to |
---|
2884 | reduce confusion of semicolon splitting behavior when no sort param is |
---|
2885 | specified (hossman) |
---|
2886 | |
---|
2887 | 21. Upgraded to Lucene 2.9-dev r752164 (shalin) |
---|
2888 | |
---|
2889 | 22. SOLR-1068: Use fsync on replicated index and configuration files (yonik, Noble Paul, shalin) |
---|
2890 | |
---|
2891 | 23. SOLR-952: Cleanup duplicated code in deprecated HighlightingUtils (hossman) |
---|
2892 | |
---|
2893 | 24. Upgraded to Lucene 2.9-dev r764281 (shalin) |
---|
2894 | |
---|
2895 | 25. SOLR-1079: Rename omitTf to omitTermFreqAndPositions (shalin) |
---|
2896 | |
---|
2897 | 26. SOLR-804: Added Lucene's misc contrib JAR (rev 764281). (gsingers) |
---|
2898 | |
---|
2899 | 27. Upgraded to Lucene 2.9-dev r768228 (shalin) |
---|
2900 | |
---|
2901 | 28. Upgraded to Lucene 2.9-dev r768336 (shalin) |
---|
2902 | |
---|
2903 | 29. SOLR-997: Wait for a longer time for slave to complete replication in TestReplicationHandler |
---|
2904 | (Mark Miller via shalin) |
---|
2905 | |
---|
2906 | 30. SOLR-748: FacetComponent helper classes are made public as an experimental API. |
---|
2907 | (Wojtek Piaseczny via shalin) |
---|
2908 | |
---|
2909 | 31. Upgraded to Lucene 2.9-dev 773862 (Mark Miller) |
---|
2910 | |
---|
2911 | 32. Upgraded to Lucene 2.9-dev r776177 (shalin) |
---|
2912 | |
---|
2913 | 33. SOLR-1149: Made QParserPlugin and related classes extendible as an experimental API. |
---|
2914 | (Kaktu Chakarabati via shalin) |
---|
2915 | |
---|
2916 | 34. Upgraded to Lucene 2.9-dev r779312 (yonik) |
---|
2917 | |
---|
2918 | 35. SOLR-786: Refactor DisMaxQParser to allow overriding certain features of DisMaxQParser |
---|
2919 | (Wojciech Biela via shalin) |
---|
2920 | |
---|
2921 | 36. SOLR-458: Add equals and hashCode methods to NamedList (Stefan Rinner, shalin) |
---|
2922 | |
---|
2923 | 37. SOLR-1184: Add option in solrconfig to open a new IndexReader rather than |
---|
2924 | using reopen. Done mainly as a fail-safe in the case that a user runs into |
---|
2925 | a reopen bug/issue. (Mark Miller) |
---|
2926 | |
---|
2927 | 38. SOLR-1215 use double quotes to enclose attributes in solr.xml (noble) |
---|
2928 | |
---|
2929 | 39. SOLR-1151: add dynamic copy field and maxChars example to example schema.xml. |
---|
2930 | (Peter Wolanin, Mark Miller) |
---|
2931 | |
---|
2932 | 40. SOLR-1233: remove /select?qt=/whatever restriction on /-prefixed request handlers. |
---|
2933 | (ehatcher) |
---|
2934 | |
---|
2935 | 41. SOLR-1257: logging.jsp has been removed and now passes through to the |
---|
2936 | hierarchical log level tool added in Solr 1.3. Users still |
---|
2937 | hitting "/admin/logging.jsp" should switch to "/admin/logging". |
---|
2938 | (hossman) |
---|
2939 | |
---|
2940 | 42. Upgraded to Lucene 2.9-dev r794238. Other changes include: |
---|
2941 | LUCENE-1614 - Use Lucene's DocIdSetIterator.NO_MORE_DOCS as the sentinel value. |
---|
2942 | LUCENE-1630 - Add acceptsDocsOutOfOrder method to Collector implementations. |
---|
2943 | LUCENE-1673, LUCENE-1701 - Trie has moved to Lucene core and renamed to NumericRangeQuery. |
---|
2944 | LUCENE-1662, LUCENE-1687 - Replace usage of ExtendedFieldCache by FieldCache. |
---|
2945 | (shalin) |
---|
2946 | |
---|
2947 | 42. SOLR-1241: Solr's CharFilter has been moved to Lucene. Remove CharFilter and related classes |
---|
2948 | from Solr and use Lucene's corresponding code (koji via shalin) |
---|
2949 | |
---|
2950 | 43. SOLR-1261: Lucene trunk renamed RangeQuery & Co to TermRangeQuery (Uwe Schindler via shalin) |
---|
2951 | |
---|
2952 | 44. Upgraded to Lucene 2.9-dev r801856 (Mark Miller) |
---|
2953 | |
---|
2954 | 45. SOLR1276: Added StatsComponentTest (RafaᅵŠKuï¿œÄ, gsingers) |
---|
2955 | |
---|
2956 | 46. SOLR-1377: The TokenizerFactory API has changed to explicitly return a Tokenizer |
---|
2957 | rather then a TokenStream (that may be or may not be a Tokenizer). This change |
---|
2958 | is required to take advantage of the Token reuse improvements in lucene 2.9. (ryan) |
---|
2959 | |
---|
2960 | 47. SOLR-1410: Log a warning if the deprecated charset option is used |
---|
2961 | on GreekLowerCaseFilterFactory, RussianStemFilterFactory, |
---|
2962 | RussianLowerCaseFilterFactory or RussianLetterTokenizerFactory. |
---|
2963 | (Robert Muir via hossman) |
---|
2964 | |
---|
2965 | 48. SOLR-1423: Due to LUCENE-1906, Solr's tokenizer should use Tokenizer.correctOffset() instead of CharStream.correctOffset(). |
---|
2966 | (Uwe Schindler via koji) |
---|
2967 | |
---|
2968 | 49. SOLR-1319, SOLR-1345: Upgrade Solr Highlighter classes to new Lucene Highlighter API. This upgrade has |
---|
2969 | resulted in a back compat break in the DefaultSolrHighlighter class - getQueryScorer is no longer |
---|
2970 | protected. If you happened to be overriding that method in custom code, overide getHighlighter instead. |
---|
2971 | Also, HighlightingUtils#getQueryScorer has been removed as it was deprecated and backcompat has been |
---|
2972 | broken with it anyway. (Mark Miller) |
---|
2973 | |
---|
2974 | 50. SOLR-1357 SolrInputDocument cannot process dynamic fields (Lars Grote via noble) |
---|
2975 | |
---|
2976 | Build |
---|
2977 | ---------------------- |
---|
2978 | 1. SOLR-776: Added in ability to sign artifacts via Ant for releases (gsingers) |
---|
2979 | |
---|
2980 | 2. SOLR-854: Added run-example target (Mark Miller via ehatcher) |
---|
2981 | |
---|
2982 | 3. SOLR-1054:Fix dist-src target for DataImportHandler (Ryuuichi Kumai via shalin) |
---|
2983 | |
---|
2984 | 4. SOLR-1219: Added proxy.setup target (koji) |
---|
2985 | |
---|
2986 | 5. SOLR-1386: In build.xml, use longfile="gnu" in tar task to avoid warnings about long file names |
---|
2987 | (Mark Miller via shalin) |
---|
2988 | |
---|
2989 | 6. SOLR-1441: Make it possible to run all tests in a package (shalin) |
---|
2990 | |
---|
2991 | |
---|
2992 | Documentation |
---|
2993 | ---------------------- |
---|
2994 | 1. SOLR-789: The javadoc of RandomSortField is not readable (Nicolas Lalevï¿œÃï¿œe via koji) |
---|
2995 | |
---|
2996 | 2. SOLR-962: Note about null handling in ModifiableSolrParams.add javadoc |
---|
2997 | (Kay Kay via hossman) |
---|
2998 | |
---|
2999 | 3. SOLR-1409: Added Solr Powered By Logos |
---|
3000 | |
---|
3001 | ================== Release 1.3.0 ================== |
---|
3002 | |
---|
3003 | Upgrading from Solr 1.2 |
---|
3004 | ----------------------- |
---|
3005 | IMPORTANT UPGRADE NOTE: In a master/slave configuration, all searchers/slaves |
---|
3006 | should be upgraded before the master! If the master were to be updated |
---|
3007 | first, the older searchers would not be able to read the new index format. |
---|
3008 | |
---|
3009 | The Porter snowball based stemmers in Lucene were updated (LUCENE-1142), |
---|
3010 | and are not guaranteed to be backward compatible at the index level |
---|
3011 | (the stem of certain words may have changed). Re-indexing is recommended. |
---|
3012 | |
---|
3013 | Older Apache Solr installations can be upgraded by replacing |
---|
3014 | the relevant war file with the new version. No changes to configuration |
---|
3015 | files should be needed. |
---|
3016 | |
---|
3017 | This version of Solr contains a new version of Lucene implementing |
---|
3018 | an updated index format. This version of Solr/Lucene can still read |
---|
3019 | and update indexes in the older formats, and will convert them to the new |
---|
3020 | format on the first index change. Be sure to backup your index before |
---|
3021 | upgrading in case you need to downgrade. |
---|
3022 | |
---|
3023 | Solr now recognizes HTTP Request headers related to HTTP Caching (see |
---|
3024 | RFC 2616 sec13) and will by default respond with "304 Not Modified" |
---|
3025 | when appropriate. This should only affect users who access Solr via |
---|
3026 | an HTTP Cache, or via a Web-browser that has an internal cache, but if |
---|
3027 | you wish to suppress this behavior an '<httpCaching never304="true"/>' |
---|
3028 | option can be added to your solrconfig.xml. See the wiki (or the |
---|
3029 | example solrconfig.xml) for more details... |
---|
3030 | http://wiki.apache.org/solr/SolrConfigXml#HTTPCaching |
---|
3031 | |
---|
3032 | In Solr 1.2, DateField did not enforce the canonical representation of |
---|
3033 | the ISO 8601 format when parsing incoming data, and did not generation |
---|
3034 | the canonical format when generating dates from "Date Math" strings |
---|
3035 | (particularly as it pertains to milliseconds ending in trailing zeros) |
---|
3036 | -- As a result equivalent dates could not always be compared properly. |
---|
3037 | This problem is corrected in Solr 1.3, but DateField users that might |
---|
3038 | have been affected by indexing inconsistent formats of equivilent |
---|
3039 | dates (ie: 1995-12-31T23:59:59Z vs 1995-12-31T23:59:59.000Z) may want |
---|
3040 | to consider reindexing to correct these inconsistencies. Users who |
---|
3041 | depend on some of the the "broken" behavior of DateField in Solr 1.2 |
---|
3042 | (specificly: accepting any input that ends in a 'Z') should consider |
---|
3043 | using the LegacyDateField class as a possible alternative. Users that |
---|
3044 | desire 100% backwards compatibility should consider using the Solr 1.2 |
---|
3045 | version of DateField. |
---|
3046 | |
---|
3047 | Due to some changes in the lifecycle of TokenFilterFactories, users of |
---|
3048 | Solr 1.2 who have written Java code which constructs new instances of |
---|
3049 | StopFilterFactory, SynonymFilterFactory, or EnglishProterFilterFactory |
---|
3050 | will need to modify their code by adding a line like the following |
---|
3051 | prior to using the factory object... |
---|
3052 | factory.inform(SolrCore.getSolrCore().getSolrConfig().getResourceLoader()); |
---|
3053 | These lifecycle changes do not affect people who use Solr "out of the |
---|
3054 | box" or who have developed their own TokenFilterFactory plugins. More |
---|
3055 | info can be found in SOLR-594. |
---|
3056 | |
---|
3057 | The python client that used to ship with Solr is no longer included in |
---|
3058 | the distribution (see client/python/README.txt). |
---|
3059 | |
---|
3060 | Detailed Change List |
---|
3061 | -------------------- |
---|
3062 | |
---|
3063 | New Features |
---|
3064 | 1. SOLR-69: Adding MoreLikeThisHandler to search for similar documents using |
---|
3065 | lucene contrib/queries MoreLikeThis. MoreLikeThis is also available from |
---|
3066 | the StandardRequestHandler using ?mlt=true. (bdelacretaz, ryan) |
---|
3067 | |
---|
3068 | 2. SOLR-253: Adding KeepWordFilter and KeepWordFilterFactory. A TokenFilter |
---|
3069 | that keeps tokens with text in the registered keeplist. This behaves like |
---|
3070 | the inverse of StopFilter. (ryan) |
---|
3071 | |
---|
3072 | 3. SOLR-257: WordDelimiterFilter has a new parameter splitOnCaseChange, |
---|
3073 | which can be set to 0 to disable splitting "PowerShot" => "Power" "Shot". |
---|
3074 | (klaas) |
---|
3075 | |
---|
3076 | 4. SOLR-193: Adding SolrDocument and SolrInputDocument to represent documents |
---|
3077 | outside of the lucene Document infrastructure. This class will be used |
---|
3078 | by clients and for processing documents. (ryan) |
---|
3079 | |
---|
3080 | 5. SOLR-244: Added ModifiableSolrParams - a SolrParams implementation that |
---|
3081 | help you change values after initialization. (ryan) |
---|
3082 | |
---|
3083 | 6. SOLR-20: Added a java client interface with two implementations. One |
---|
3084 | implementation uses commons httpclient to connect to solr via HTTP. The |
---|
3085 | other connects to solr directly. Check client/java/solrj. This addition |
---|
3086 | also includes tests that start jetty and test a connection using the full |
---|
3087 | HTTP request cycle. (Darren Erik Vengroff, Will Johnson, ryan) |
---|
3088 | |
---|
3089 | 7. SOLR-133: Added StaxUpdateRequestHandler that uses StAX for XML parsing. |
---|
3090 | This implementation has much better error checking and lets you configure |
---|
3091 | a custom UpdateRequestProcessor that can selectively process update |
---|
3092 | requests depending on the request attributes. This class will likely |
---|
3093 | replace XmlUpdateRequestHandler. (Thorsten Scherler, ryan) |
---|
3094 | |
---|
3095 | 8. SOLR-264: Added RandomSortField, a utility field with a random sort order. |
---|
3096 | The seed is based on a hash of the field name, so a dynamic field |
---|
3097 | of this type is useful for generating different random sequences. |
---|
3098 | This field type should only be used for sorting or as a value source |
---|
3099 | in a FunctionQuery (ryan, hossman, yonik) |
---|
3100 | |
---|
3101 | 9. SOLR-266: Adding show=schema to LukeRequestHandler to show the parsed |
---|
3102 | schema fields and field types. (ryan) |
---|
3103 | |
---|
3104 | 10. SOLR-133: The UpdateRequestHandler now accepts multiple delete options |
---|
3105 | within a single request. For example, sending: |
---|
3106 | <delete><id>1</id><id>2</id></delete> will delete both 1 and 2. (ryan) |
---|
3107 | |
---|
3108 | 11. SOLR-269: Added UpdateRequestProcessor plugin framework. This provides |
---|
3109 | a reasonable place to process documents after they are parsed and |
---|
3110 | before they are committed to the index. This is a good place for custom |
---|
3111 | document manipulation or document based authorization. (yonik, ryan) |
---|
3112 | |
---|
3113 | 12. SOLR-260: Converting to a standard PluginLoader framework. This reworks |
---|
3114 | RequestHandlers, FieldTypes, and QueryResponseWriters to share the same |
---|
3115 | base code for loading and initializing plugins. This adds a new |
---|
3116 | configuration option to define the default RequestHandler and |
---|
3117 | QueryResponseWriter in XML using default="true". (ryan) |
---|
3118 | |
---|
3119 | 13. SOLR-225: Enable pluggable highlighting classes. Allow configurable |
---|
3120 | highlighting formatters and Fragmenters. (ryan) |
---|
3121 | |
---|
3122 | 14. SOLR-273/376/452/516: Added hl.maxAnalyzedChars highlighting parameter, defaulting |
---|
3123 | to 50k, hl.alternateField, which allows the specification of a backup |
---|
3124 | field to use as summary if no keywords are matched, and hl.mergeContiguous, |
---|
3125 | which combines fragments if they are adjacent in the source document. |
---|
3126 | (klaas, Grant Ingersoll, Koji Sekiguchi via klaas) |
---|
3127 | |
---|
3128 | 15. SOLR-291: Control maximum number of documents to cache for any entry |
---|
3129 | in the queryResultCache via queryResultMaxDocsCached solrconfig.xml |
---|
3130 | entry. (Koji Sekiguchi via yonik) |
---|
3131 | |
---|
3132 | 16. SOLR-240: New <lockType> configuration setting in <mainIndex> and |
---|
3133 | <indexDefaults> blocks supports all Lucene builtin LockFactories. |
---|
3134 | 'single' is recommended setting, but 'simple' is default for total |
---|
3135 | backwards compatibility. |
---|
3136 | (Will Johnson via hossman) |
---|
3137 | |
---|
3138 | 17. SOLR-248: Added CapitalizationFilterFactory that creates tokens with |
---|
3139 | normalized capitalization. This filter is useful for facet display, |
---|
3140 | but will not work with a prefix query. (ryan) |
---|
3141 | SOLR-468: Change to the semantics to keep the original token, not the |
---|
3142 | token in the Map. Also switched to use Lucene's new reusable token |
---|
3143 | capabilities. (gsingers) |
---|
3144 | |
---|
3145 | 18. SOLR-307: Added NGramFilterFactory and EdgeNGramFilterFactory. |
---|
3146 | (Thomas Peuss via Otis Gospodnetic) |
---|
3147 | |
---|
3148 | 19. SOLR-305: analysis.jsp can be given a fieldtype instead of a field |
---|
3149 | name. (hossman) |
---|
3150 | |
---|
3151 | 20. SOLR-102: Added RegexFragmenter, which splits text for highlighting |
---|
3152 | based on a given pattern. (klaas) |
---|
3153 | |
---|
3154 | 21. SOLR-258: Date Faceting added to SimpleFacets. Facet counts |
---|
3155 | computed for ranges of size facet.date.gap (a DateMath expression) |
---|
3156 | between facet.date.start and facet.date.end. (hossman) |
---|
3157 | |
---|
3158 | 22. SOLR-196: A PHP serialized "phps" response writer that returns a |
---|
3159 | serialized array that can be used with the PHP function unserialize, |
---|
3160 | and a PHP response writer "php" that may be used by eval. |
---|
3161 | (Nick Jenkin, Paul Borgermans, Pieter Berkel via yonik) |
---|
3162 | |
---|
3163 | 23. SOLR-308: A new UUIDField class which accepts UUID string values, |
---|
3164 | as well as the special value of "NEW" which triggers generation of |
---|
3165 | a new random UUID. |
---|
3166 | (Thomas Peuss via hossman) |
---|
3167 | |
---|
3168 | 24. SOLR-349: New FunctionQuery functions: sum, product, div, pow, log, |
---|
3169 | sqrt, abs, scale, map. Constants may now be used as a value source. |
---|
3170 | (yonik) |
---|
3171 | |
---|
3172 | 25. SOLR-359: Add field type className to Luke response, and enabled access |
---|
3173 | to the detailed field information from the solrj client API. |
---|
3174 | (Grant Ingersoll via ehatcher) |
---|
3175 | |
---|
3176 | 26. SOLR-334: Pluggable query parsers. Allows specification of query |
---|
3177 | type and arguments as a prefix on a query string. (yonik) |
---|
3178 | |
---|
3179 | 27. SOLR-351: External Value Source. An external file may be used |
---|
3180 | to specify the values of a field, currently usable as |
---|
3181 | a ValueSource in a FunctionQuery. (yonik) |
---|
3182 | |
---|
3183 | 28. SOLR-395: Many new features for the spell checker implementation, including |
---|
3184 | an extended response mode with much richer output, multi-word spell checking, |
---|
3185 | and a bevy of new and renamed options (see the wiki). |
---|
3186 | (Mike Krimerman, Scott Taber via klaas). |
---|
3187 | |
---|
3188 | 29. SOLR-408: Added PingRequestHandler and deprecated SolrCore.getPingQueryRequest(). |
---|
3189 | Ping requests should be configured using standard RequestHandler syntax in |
---|
3190 | solrconfig.xml rather then using the <pingQuery></pingQuery> syntax. |
---|
3191 | (Karsten Sperling via ryan) |
---|
3192 | |
---|
3193 | 30. SOLR-281: Added a 'Search Component' interface and converted StandardRequestHandler |
---|
3194 | and DisMaxRequestHandler to use this framework. |
---|
3195 | (Sharad Agarwal, Henri Biestro, yonik, ryan) |
---|
3196 | |
---|
3197 | 31. SOLR-176: Add detailed timing data to query response output. The SearchHandler |
---|
3198 | interface now returns how long each section takes. (klaas) |
---|
3199 | |
---|
3200 | 32. SOLR-414: Plugin initialization now supports SolrCore and ResourceLoader "Aware" |
---|
3201 | plugins. Plugins that implement SolrCoreAware or ResourceLoaderAware are |
---|
3202 | informed about the SolrCore/ResourceLoader. (Henri Biestro, ryan) |
---|
3203 | |
---|
3204 | 33. SOLR-350: Support multiple SolrCores running in the same solr instance and allows |
---|
3205 | runtime runtime management for any running SolrCore. If a solr.xml file exists |
---|
3206 | in solr.home, this file is used to instanciate multiple cores and enables runtime |
---|
3207 | core manipulation. For more informaion see: http://wiki.apache.org/solr/CoreAdmin |
---|
3208 | (Henri Biestro, ryan) |
---|
3209 | |
---|
3210 | 34. SOLR-447: Added an single request handler that will automatically register all |
---|
3211 | standard admin request handlers. This replaces the need to register (and maintain) |
---|
3212 | the set of admin request handlers. Assuming solrconfig.xml includes: |
---|
3213 | <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" /> |
---|
3214 | This will register: Luke/SystemInfo/PluginInfo/ThreadDump/PropertiesRequestHandler. |
---|
3215 | (ryan) |
---|
3216 | |
---|
3217 | 35. SOLR-142: Added RawResponseWriter and ShowFileRequestHandler. This returns config |
---|
3218 | files directly. If AdminHandlers are configured, this will be added automatically. |
---|
3219 | The jsp files /admin/get-file.jsp and /admin/raw-schema.jsp have been deprecated. |
---|
3220 | The deprecated <admin><gettableFiles> will be automatically registered with |
---|
3221 | a ShowFileRequestHandler instance for backwards compatibility. (ryan) |
---|
3222 | |
---|
3223 | 36. SOLR-446: TextResponseWriter can write SolrDocuments and SolrDocumentLists the |
---|
3224 | same way it writes Document and DocList. (yonik, ryan) |
---|
3225 | |
---|
3226 | 37. SOLR-418: Adding a query elevation component. This is an optional component to |
---|
3227 | elevate some documents to the top positions (or exclude them) for a given query. |
---|
3228 | (ryan) |
---|
3229 | |
---|
3230 | 38. SOLR-478: Added ability to get back unique key information from the LukeRequestHandler. |
---|
3231 | (gsingers) |
---|
3232 | |
---|
3233 | 39. SOLR-127: HTTP Caching awareness. Solr now recognizes HTTP Request |
---|
3234 | headers related to HTTP Caching (see RFC 2616 sec13) and will respond |
---|
3235 | with "304 Not Modified" when appropriate. New options have been added |
---|
3236 | to solrconfig.xml to influence this behavior. |
---|
3237 | (Thomas Peuss via hossman) |
---|
3238 | |
---|
3239 | 40. SOLR-303: Distributed Search over HTTP. Specification of shards |
---|
3240 | argument causes Solr to query those shards and merge the results |
---|
3241 | into a single response. Querying, field faceting (sorted only), |
---|
3242 | query faceting, highlighting, and debug information are supported |
---|
3243 | in distributed mode. |
---|
3244 | (Sharad Agarwal, Patrick O'Leary, Sabyasachi Dalal, Stu Hood, |
---|
3245 | Jayson Minard, Lars Kotthoff, ryan, yonik) |
---|
3246 | |
---|
3247 | 41. SOLR-356: Pluggable functions (value sources) that allow |
---|
3248 | registration of new functions via solrconfig.xml |
---|
3249 | (Doug Daniels via yonik) |
---|
3250 | |
---|
3251 | 42. SOLR-494: Added cool admin Ajaxed schema explorer. |
---|
3252 | (Greg Ludington via ehatcher) |
---|
3253 | |
---|
3254 | 43. SOLR-497: Added date faceting to the QueryResponse in SolrJ |
---|
3255 | and QueryResponseTest (Shalin Shekhar Mangar via gsingers) |
---|
3256 | |
---|
3257 | 44. SOLR-486: Binary response format, faster and smaller |
---|
3258 | than XML and JSON response formats (use wt=javabin). |
---|
3259 | BinaryResponseParser for utilizing the binary format via SolrJ |
---|
3260 | and is now the default. |
---|
3261 | (Noble Paul, yonik) |
---|
3262 | |
---|
3263 | 45. SOLR-521: StopFilterFactory support for "enablePositionIncrements" |
---|
3264 | (Walter Ferrara via hossman) |
---|
3265 | |
---|
3266 | 46. SOLR-557: Added SolrCore.getSearchComponents() to return an unmodifiable Map. (gsingers) |
---|
3267 | |
---|
3268 | 47. SOLR-516: Added hl.maxAlternateFieldLength parameter, to set max length for hl.alternateField |
---|
3269 | (Koji Sekiguchi via klaas) |
---|
3270 | |
---|
3271 | 48. SOLR-319: Changed SynonymFilterFactory to "tokenize" synonyms file. |
---|
3272 | To use a tokenizer, specify "tokenizerFactory" attribute in <filter>. |
---|
3273 | For example: |
---|
3274 | <tokenizer class="solr.CJKTokenizerFactory"/> |
---|
3275 | <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" expand="true" |
---|
3276 | ignoreCase="true" tokenizerFactory="solr.CJKTokenizerFactory"/> |
---|
3277 | (koji) |
---|
3278 | |
---|
3279 | 49. SOLR-515: Added SimilarityFactory capability to schema.xml, |
---|
3280 | making config file parameters usable in the construction of |
---|
3281 | the global Lucene Similarity implementation. |
---|
3282 | (ehatcher) |
---|
3283 | |
---|
3284 | 50. SOLR-536: Add a DocumentObjectBinder to solrj that converts Objects to and |
---|
3285 | from SolrDocuments. (Noble Paul via ryan) |
---|
3286 | |
---|
3287 | 51. SOLR-595: Add support for Field level boosting in the MoreLikeThis Handler. |
---|
3288 | (Tom Morton, gsingers) |
---|
3289 | |
---|
3290 | 52. SOLR-572: Added SpellCheckComponent and org.apache.solr.spelling package to support more spell |
---|
3291 | checking functionality. Also includes ability to add your own SolrSpellChecker implementation that |
---|
3292 | plugs in. See http://wiki.apache.org/solr/SpellCheckComponent for more details |
---|
3293 | (Shalin Shekhar Mangar, Bojan Smid, gsingers) |
---|
3294 | |
---|
3295 | 53. SOLR-679: Added accessor methods to Lucene based spell checkers (gsingers) |
---|
3296 | |
---|
3297 | 54. SOLR-423: Added Request Handler close hook notification so that RequestHandlers can be notified |
---|
3298 | when a core is closing. (gsingers, ryan) |
---|
3299 | |
---|
3300 | 55. SOLR-603: Added ability to partially optimize. (gsingers) |
---|
3301 | |
---|
3302 | 56. SOLR-483: Add byte/short sorting support (gsingers) |
---|
3303 | |
---|
3304 | 57. SOLR-14: Add preserveOriginal flag to WordDelimiterFilter |
---|
3305 | (Geoffrey Young, Trey Hyde, Ankur Madnani, yonik) |
---|
3306 | |
---|
3307 | 58. SOLR-502: Add search timeout support. (Sean Timm via yonik) |
---|
3308 | |
---|
3309 | 59. SOLR-605: Add the ability to register callbacks programatically (ryan, Noble Paul) |
---|
3310 | |
---|
3311 | 60. SOLR-610: hl.maxAnalyzedChars can be -1 to highlight everything (Lars Kotthoff via klaas) |
---|
3312 | |
---|
3313 | 61. SOLR-522: Make analysis.jsp show payloads. (Tricia Williams via yonik) |
---|
3314 | |
---|
3315 | 62. SOLR-611: Expose sort_values returned by QueryComponent in SolrJ's QueryResponse |
---|
3316 | (Dan Rosher via shalin) |
---|
3317 | |
---|
3318 | 63. SOLR-256: Support exposing Solr statistics through JMX (Sharad Agrawal, shalin) |
---|
3319 | |
---|
3320 | 64. SOLR-666: Expose warmup time in statistics for SolrIndexSearcher and LRUCache (shalin) |
---|
3321 | |
---|
3322 | 65. SOLR-663: Allow multiple files for stopwords, keepwords, protwords and synonyms |
---|
3323 | (Otis Gospodnetic, shalin) |
---|
3324 | |
---|
3325 | 66. SOLR-469: Added DataImportHandler as a contrib project which makes indexing data from Databases, |
---|
3326 | XML files and HTTP data sources into Solr quick and easy. Includes API and implementations for |
---|
3327 | supporting multiple data sources, processors and transformers for importing data. Supports full |
---|
3328 | data imports as well as incremental (delta) indexing. See http://wiki.apache.org/solr/DataImportHandler |
---|
3329 | for more details. (Noble Paul, shalin) |
---|
3330 | |
---|
3331 | 67. SOLR-622: SpellCheckComponent supports auto-loading indices on startup and optionally, (re)builds |
---|
3332 | indices on newSearcher event, if configured in solrconfig.xml (shalin) |
---|
3333 | |
---|
3334 | 68. SOLR-554: Hierarchical JDK log level selector for SOLR Admin replaces logging.jsp |
---|
3335 | (Sean Timm via shalin) |
---|
3336 | |
---|
3337 | 69. SOLR-506: Emitting HTTP Cache headers can be enabled or disabled through configuration on a |
---|
3338 | per-handler basis (shalin) |
---|
3339 | |
---|
3340 | 70. SOLR-716: Added support for properties in configuration files. Properties can be specified in |
---|
3341 | solr.xml and can be used in solrconfig.xml and schema.xml (Henri Biestro, hossman, ryan, shalin) |
---|
3342 | |
---|
3343 | 71. SOLR-1129 : Support binding dynamic fields to beans in SolrJ (Avlesh Singh , noble) |
---|
3344 | |
---|
3345 | 72. SOLR-920 : Cache and reuse IndexSchema . A new attribute added in solr.xml called 'shareSchema' (noble) |
---|
3346 | |
---|
3347 | Changes in runtime behavior |
---|
3348 | 1. SOLR-559: use Lucene updateDocument, deleteDocuments methods. This |
---|
3349 | removes the maxBufferedDeletes parameter added by SOLR-310 as Lucene |
---|
3350 | now manages the deletes. This provides slightly better indexing |
---|
3351 | performance and makes overwrites atomic, eliminating the possibility of |
---|
3352 | a crash causing duplicates. (yonik) |
---|
3353 | |
---|
3354 | 2. SOLR-689 / SOLR-695: If you have used "MultiCore" functionality in an unreleased |
---|
3355 | version of 1.3-dev, many classes and configs have been renamed for the official |
---|
3356 | 1.3 release. Speciffically, solr.xml has replaced multicore.xml, and uses a slightly |
---|
3357 | different syntax. The solrj classes: MultiCore{Request/Response/Params} have been |
---|
3358 | renamed: CoreAdmin{Request/Response/Params} (hossman, ryan, Henri Biestro) |
---|
3359 | |
---|
3360 | 3. SOLR-647: reference count the SolrCore uses to prevent a premature |
---|
3361 | close while a core is still in use. (Henri Biestro, Noble Paul, yonik) |
---|
3362 | |
---|
3363 | 4. SOLR-737: SolrQueryParser now uses a ConstantScoreQuery for wildcard |
---|
3364 | queries that prevent an exception from being thrown when the number |
---|
3365 | of matching terms exceeds the BooleanQuery clause limit. (yonik) |
---|
3366 | |
---|
3367 | Optimizations |
---|
3368 | 1. SOLR-276: improve JSON writer speed. (yonik) |
---|
3369 | |
---|
3370 | 2. SOLR-310: bound and reduce memory usage by providing <maxBufferedDeletes> parameter, |
---|
3371 | which flushes deleted without forcing the user to use <commit/> for this purpose. |
---|
3372 | (klaas) |
---|
3373 | |
---|
3374 | 3. SOLR-348: short-circuit faceting if less than mincount docs match. (yonik) |
---|
3375 | |
---|
3376 | 4. SOLR-354: Optimize removing all documents. Now when a delete by query |
---|
3377 | of *:* is issued, the current index is removed. (yonik) |
---|
3378 | |
---|
3379 | 5. SOLR-377: Speed up response writers. (yonik) |
---|
3380 | |
---|
3381 | 6. SOLR-342: Added support into the SolrIndexWriter for using several new features of the new |
---|
3382 | LuceneIndexWriter, including: setRAMBufferSizeMB(), setMergePolicy(), setMergeScheduler. |
---|
3383 | Also, added support to specify Lucene's autoCommit functionality (not to be confused with Solr's |
---|
3384 | similarily named autoCommit functionality) via the <luceneAutoCommit> config. item. See the test |
---|
3385 | and example solrconfig.xml <indexDefaults> section for usage. Performance during indexing should |
---|
3386 | be significantly increased by moving up to 2.3 due to Lucene's new indexing capabilities. |
---|
3387 | Furthermore, the setRAMBufferSizeMB makes it more logical to decide on tuning factors related to |
---|
3388 | indexing. For best performance, leave the mergePolicy and mergeScheduler as the defaults and set |
---|
3389 | ramBufferSizeMB instead of maxBufferedDocs. The best value for this depends on the types of |
---|
3390 | documents in use. 32 should be a good starting point, but reports have shown up to 48 MB provides |
---|
3391 | good results. Note, it is acceptable to set both ramBufferSizeMB and maxBufferedDocs, and Lucene |
---|
3392 | will flush based on whichever limit is reached first. (gsingers) |
---|
3393 | |
---|
3394 | 7. SOLR-330: Converted TokenStreams to use Lucene's new char array based |
---|
3395 | capabilities. (gsingers) |
---|
3396 | |
---|
3397 | 8. SOLR-624: Only take snapshots if there are differences to the index (Richard Trey Hyde via gsingers) |
---|
3398 | |
---|
3399 | 9. SOLR-587: Delete by Query performance greatly improved by using |
---|
3400 | new underlying Lucene IndexWriter implementation. (yonik) |
---|
3401 | |
---|
3402 | 10. SOLR-730: Use read-only IndexReaders that don't synchronize |
---|
3403 | isDeleted(). This will speed up function queries and *:* queries |
---|
3404 | as well as improve their scalability on multi-CPU systems. |
---|
3405 | (Mark Miller via yonik) |
---|
3406 | |
---|
3407 | Bug Fixes |
---|
3408 | 1. Make TextField respect sortMissingFirst and sortMissingLast fields. |
---|
3409 | (J.J. Larrea via yonik) |
---|
3410 | |
---|
3411 | 2. autoCommit/maxDocs was not working properly when large autoCommit/maxTime |
---|
3412 | was specified (klaas) |
---|
3413 | |
---|
3414 | 3. SOLR-283: autoCommit was not working after delete. (ryan) |
---|
3415 | |
---|
3416 | 4. SOLR-286: ContentStreamBase was not using default encoding for getBytes() |
---|
3417 | (Toru Matsuzawa via ryan) |
---|
3418 | |
---|
3419 | 5. SOLR-292: Fix MoreLikeThis facet counting. (Pieter Berkel via ryan) |
---|
3420 | |
---|
3421 | 6. SOLR-297: Fix bug in RequiredSolrParams where requiring a field |
---|
3422 | specific param would fail if a general default value had been supplied. |
---|
3423 | (hossman) |
---|
3424 | |
---|
3425 | 7. SOLR-331: Fix WordDelimiterFilter handling of offsets for synonyms or |
---|
3426 | other injected tokens that can break highlighting. (yonik) |
---|
3427 | |
---|
3428 | 8. SOLR-282: Snapshooter does not work on Solaris and OS X since the cp command |
---|
3429 | there does not have the -l option. Also updated commit/optimize related |
---|
3430 | scripts to handle both old and new response format. (bill) |
---|
3431 | |
---|
3432 | 9. SOLR-294: Logging of elapsed time broken on Solaris because the date command |
---|
3433 | there does not support the %s output format. (bill) |
---|
3434 | |
---|
3435 | 10. SOLR-136: Snappuller - "date -d" and locales don't mix. (Jï¿œÃï¿œrgen Hermann via bill) |
---|
3436 | |
---|
3437 | 11. SOLR-333: Changed distributiondump.jsp to use Solr HOME instead of CWD to set path. |
---|
3438 | |
---|
3439 | 12. SOLR-393: Removed duplicate contentType from raw-schema.jsp. (bill) |
---|
3440 | |
---|
3441 | 13. SOLR-413: Requesting a large numbers of documents to be returned (limit) |
---|
3442 | can result in an out-of-memory exception, even for a small index. (yonik) |
---|
3443 | |
---|
3444 | 14. The CSV loader incorrectly threw an exception when given |
---|
3445 | header=true (the default). (ryan, yonik) |
---|
3446 | |
---|
3447 | 15. SOLR-449: the python and ruby response writers are now able to correctly |
---|
3448 | output NaN and Infinity in their respective languages. (klaas) |
---|
3449 | |
---|
3450 | 16. SOLR-42: HTMLStripReader tokenizers now preserve correct source |
---|
3451 | offsets for highlighting. (Grant Ingersoll via yonik) |
---|
3452 | |
---|
3453 | 17. SOLR-481: Handle UnknownHostException in _info.jsp (gsingers) |
---|
3454 | |
---|
3455 | 18. SOLR-324: Add proper support for Long and Doubles in sorting, etc. (gsingers) |
---|
3456 | |
---|
3457 | 19. SOLR-496: Cache-Control max-age changed to Long so Expires |
---|
3458 | calculation won't cause overflow. (Thomas Peuss via hossman) |
---|
3459 | |
---|
3460 | 20. SOLR-535: Fixed typo (Tokenzied -> Tokenized) in schema.jsp (Thomas Peuss via billa) |
---|
3461 | |
---|
3462 | 21. SOLR-529: Better error messages from SolrQueryParser when field isn't |
---|
3463 | specified and there is no defaultSearchField in schema.xml |
---|
3464 | (Lars Kotthoff via hossman) |
---|
3465 | |
---|
3466 | 22. SOLR-530: Better error messages/warnings when parsing schema.xml: |
---|
3467 | field using bogus fieldtype and multiple copyFields to a non-multiValue |
---|
3468 | field. (Shalin Shekhar Mangar via hossman) |
---|
3469 | |
---|
3470 | 23. SOLR-528: Better error message when defaultSearchField is bogus or not |
---|
3471 | indexed. (Lars Kotthoff via hossman) |
---|
3472 | |
---|
3473 | 24. SOLR-533: Fixed tests so they don't use hardcoded port numbers. |
---|
3474 | (hossman) |
---|
3475 | |
---|
3476 | 25. SOLR-400: SolrExceptionTest should now handle using OpenDNS as a DNS provider (gsingers) |
---|
3477 | |
---|
3478 | 26. SOLR-541: Legacy XML update support (provided by SolrUpdateServlet |
---|
3479 | when no RequestHandler is mapped to "/update") now logs error correctly. |
---|
3480 | (hossman) |
---|
3481 | |
---|
3482 | 27. SOLR-267: Changed logging to report number of hits, and also provide a mechanism to add log |
---|
3483 | messages to be output by the SolrCore via a NamedList toLog member variable. |
---|
3484 | (Will Johnson, yseeley, gsingers) |
---|
3485 | |
---|
3486 | SOLR-267: Removed adding values to the HTTP headers in SolrDispatchFilter (gsingers) |
---|
3487 | |
---|
3488 | 28. SOLR-509: Moved firstSearcher event notification to the end of the SolrCore constructor |
---|
3489 | (Koji Sekiguchi via gsingers) |
---|
3490 | |
---|
3491 | 29. SOLR-470, SOLR-552, SOLR-544, SOLR-701: Multiple fixes to DateField |
---|
3492 | regarding lenient parsing of optional milliseconds, and correct |
---|
3493 | formating using the canonical representation. LegacyDateField has |
---|
3494 | been added for people who have come to depend on the existing |
---|
3495 | broken behavior. (hossman, Stefan Oestreicher) |
---|
3496 | |
---|
3497 | 30. SOLR-539: Fix for non-atomic long counters and a cast fix to avoid divide |
---|
3498 | by zero. (Sean Timm via Otis Gospodnetic) |
---|
3499 | |
---|
3500 | 31. SOLR-514: Added explicit media-type with UTF* charset to *.xsl files that |
---|
3501 | don't already have one. (hossman) |
---|
3502 | |
---|
3503 | 32. SOLR-505: Give RequestHandlers the possiblity to suppress the generation |
---|
3504 | of HTTP caching headers. (Thomas Peuss via Otis Gospodnetic) |
---|
3505 | |
---|
3506 | 33. SOLR-553: Handle highlighting of phrase terms better when |
---|
3507 | hl.usePhraseHighligher=true URL param is used. |
---|
3508 | (Bojan Smid via Otis Gospodnetic) |
---|
3509 | |
---|
3510 | 34. SOLR-590: Limitation in pgrep on Linux platform breaks script-utils fixUser. |
---|
3511 | (Hannes Schmidt via billa) |
---|
3512 | |
---|
3513 | 35. SOLR-597: SolrServlet no longer "caches" SolrCore. This was causing |
---|
3514 | problems in Resin, and could potentially cause problems for customized |
---|
3515 | usages of SolrServlet. |
---|
3516 | |
---|
3517 | 36. SOLR-585: Now sets the QParser on the ResponseBuilder (gsingers) |
---|
3518 | |
---|
3519 | 37. SOLR-604: If the spellchecking path is relative, make it relative to the Solr Data Directory. |
---|
3520 | (Shalin Shekhar Mangar via gsingers) |
---|
3521 | |
---|
3522 | 38. SOLR-584: Make stats.jsp and stats.xsl more robust. |
---|
3523 | (Yousef Ourabi and hossman) |
---|
3524 | |
---|
3525 | 39. SOLR-443: SolrJ: Declare UTF-8 charset on POSTed parameters |
---|
3526 | to avoid problems with servlet containers that default to latin-1 |
---|
3527 | and allow switching of the exact POST mechanism for parameters |
---|
3528 | via useMultiPartPost in CommonsHttpSolrServer. |
---|
3529 | (Lars Kotthoff, Andrew Schurman, ryan, yonik) |
---|
3530 | |
---|
3531 | 40. SOLR-556: multi-valued fields always highlighted in disparate snippets |
---|
3532 | (Lars Kotthoff via klaas) |
---|
3533 | |
---|
3534 | 41. SOLR-501: Fix admin/analysis.jsp UTF-8 input for some other servlet |
---|
3535 | containers such as Tomcat. (Hiroaki Kawai, Lars Kotthoff via yonik) |
---|
3536 | |
---|
3537 | 42. SOLR-616: SpellChecker accuracy configuration is not applied for FileBasedSpellChecker. |
---|
3538 | Apply it for FileBasedSpellChecker and IndexBasedSpellChecker both. |
---|
3539 | (shalin) |
---|
3540 | |
---|
3541 | 43. SOLR-648: SpellCheckComponent throws NullPointerException on using spellcheck.q request |
---|
3542 | parameter after restarting Solr, if reload is called but build is not called. |
---|
3543 | (Jonathan Lee, shalin) |
---|
3544 | |
---|
3545 | 44. SOLR-598: DebugComponent now always occurs last in the SearchHandler list unless the |
---|
3546 | components are explicitly declared. (gsingers) |
---|
3547 | |
---|
3548 | 45. SOLR-676: DataImportHandler should use UpdateRequestProcessor API instead of directly |
---|
3549 | using UpdateHandler. (shalin) |
---|
3550 | |
---|
3551 | 46. SOLR-696: Fixed bug in NamedListCodec in regards to serializing Iterable objects. (gsingers) |
---|
3552 | |
---|
3553 | 47. SOLR-669: snappuler fix for FreeBSD/Darwin (Richard "Trey" Hyde via Otis Gospodnetic) |
---|
3554 | |
---|
3555 | 48. SOLR-606: Fixed spell check collation offset issue. (Stefan Oestreicher , Geoffrey Young, gsingers) |
---|
3556 | |
---|
3557 | 49. SOLR-589: Improved handling of badly formated query strings (Sean Timm via Otis Gospodnetic) |
---|
3558 | |
---|
3559 | 50. SOLR-749: Allow QParser and ValueSourceParsers to be extended with same name (hossman, gsingers) |
---|
3560 | |
---|
3561 | Other Changes |
---|
3562 | 1. SOLR-135: Moved common classes to org.apache.solr.common and altered the |
---|
3563 | build scripts to make two jars: apache-solr-1.3.jar and |
---|
3564 | apache-solr-1.3-common.jar. This common.jar can be used in client code; |
---|
3565 | It does not have lucene or junit dependencies. The original classes |
---|
3566 | have been replaced with a @Deprecated extended class and are scheduled |
---|
3567 | to be removed in a later release. While this change does not affect API |
---|
3568 | compatibility, it is recommended to update references to these |
---|
3569 | deprecated classes. (ryan) |
---|
3570 | |
---|
3571 | 2. SOLR-268: Tweaks to post.jar so it prints the error message from Solr. |
---|
3572 | (Brian Whitman via hossman) |
---|
3573 | |
---|
3574 | 3. Upgraded to Lucene 2.2.0; June 18, 2007. |
---|
3575 | |
---|
3576 | 4. SOLR-215: Static access to SolrCore.getSolrCore() and SolrConfig.config |
---|
3577 | have been deprecated in order to support multiple loaded cores. |
---|
3578 | (Henri Biestro via ryan) |
---|
3579 | |
---|
3580 | 5. SOLR-367: The create method in all TokenFilter and Tokenizer Factories |
---|
3581 | provided by Solr now declare their specific return types instead of just |
---|
3582 | using "TokenStream" (hossman) |
---|
3583 | |
---|
3584 | 6. SOLR-396: Hooks add to build system for automatic generation of (stub) |
---|
3585 | Tokenizer and TokenFilter Factories. |
---|
3586 | Also: new Factories for all Tokenizers and TokenFilters provided by the |
---|
3587 | lucene-analyzers-2.2.0.jar -- includes support for German, Chinese, |
---|
3588 | Russan, Dutch, Greek, Brazilian, Thai, and French. (hossman) |
---|
3589 | |
---|
3590 | 7. Upgraded to commons-CSV r609327, which fixes escaping bugs and |
---|
3591 | introduces new escaping and whitespace handling options to |
---|
3592 | increase compatibility with different formats. (yonik) |
---|
3593 | |
---|
3594 | 8. Upgraded to Lucene 2.3.0; Jan 23, 2008. |
---|
3595 | |
---|
3596 | 9. SOLR-451: Changed analysis.jsp to use POST instead of GET, also made the input area a |
---|
3597 | bit bigger (gsingers) |
---|
3598 | |
---|
3599 | 10. Upgrade to Lucene 2.3.1 |
---|
3600 | |
---|
3601 | 11. SOLR-531: Different exit code for rsyncd-start and snappuller if disabled (Thomas Peuss via billa) |
---|
3602 | |
---|
3603 | 12. SOLR-550: Clarified DocumentBuilder addField javadocs (gsingers) |
---|
3604 | |
---|
3605 | 13. Upgrade to Lucene 2.3.2 |
---|
3606 | |
---|
3607 | 14. SOLR-518: Changed luke.xsl to use divs w/css for generating histograms |
---|
3608 | instead of SVG (Thomas Peuss via hossman) |
---|
3609 | |
---|
3610 | 15. SOLR-592: Added ShardParams interface and changed several string literals |
---|
3611 | to references to constants in CommonParams. |
---|
3612 | (Lars Kotthoff via Otis Gospodnetic) |
---|
3613 | |
---|
3614 | 16. SOLR-520: Deprecated unused LengthFilter since already core in |
---|
3615 | Lucene-Java (hossman) |
---|
3616 | |
---|
3617 | 17. SOLR-645: Refactored SimpleFacetsTest (Lars Kotthoff via hossman) |
---|
3618 | |
---|
3619 | 18. SOLR-591: Changed Solrj default value for facet.sort to true (Lars Kotthoff via Shalin) |
---|
3620 | |
---|
3621 | 19. Upgraded to Lucene 2.4-dev (r669476) to support SOLR-572 (gsingers) |
---|
3622 | |
---|
3623 | 20. SOLR-636: Improve/simplify example configs; and make index.jsp |
---|
3624 | links more resilient to configs loaded via an InputStream |
---|
3625 | (Lars Kotthoff, hossman) |
---|
3626 | |
---|
3627 | 21. SOLR-682: Scripts now support FreeBSD (Richard Trey Hyde via gsingers) |
---|
3628 | |
---|
3629 | 22. SOLR-489: Added in deprecation comments. (Sean Timm, Lars Kothoff via gsingers) |
---|
3630 | |
---|
3631 | 23. SOLR-692: Migrated to stable released builds of StAX API 1.0.1 and StAX 1.2.0 (shalin) |
---|
3632 | 24. Upgraded to Lucene 2.4-dev (r686801) (yonik) |
---|
3633 | 25. Upgraded to Lucene 2.4-dev (r688745) 27-Aug-2008 (yonik) |
---|
3634 | 26. Upgraded to Lucene 2.4-dev (r691741) 03-Sep-2008 (yonik) |
---|
3635 | 27. Replaced the StAX reference implementation with the geronimo |
---|
3636 | StAX API jar, and the Woodstox StAX implementation. (yonik) |
---|
3637 | |
---|
3638 | Build |
---|
3639 | 1. SOLR-411. Changed the names of the Solr JARs to use the defacto standard JAR names based on |
---|
3640 | project-name-version.jar. This yields, for example: |
---|
3641 | apache-solr-common-1.3-dev.jar |
---|
3642 | apache-solr-solrj-1.3-dev.jar |
---|
3643 | apache-solr-1.3-dev.jar |
---|
3644 | |
---|
3645 | 2. SOLR-479: Added clover code coverage targets for committers and the nightly build. Requires |
---|
3646 | the Clover library, as licensed to Apache and only available privately. To run: |
---|
3647 | ant -Drun.clover=true clean clover test generate-clover-reports |
---|
3648 | |
---|
3649 | 3. SOLR-510: Nightly release includes client sources. (koji) |
---|
3650 | |
---|
3651 | 4. SOLR-563: Modified the build process to build contrib projects |
---|
3652 | (Shalin Shekhar Mangar via Otis Gospodnetic) |
---|
3653 | |
---|
3654 | 5. SOLR-673: Modify build file to create javadocs for core, solrj, contrib and "all inclusive" (shalin) |
---|
3655 | |
---|
3656 | 6. SOLR-672: Nightly release includes contrib sources. (Jeremy Hinegardner, shalin) |
---|
3657 | |
---|
3658 | 7. SOLR-586: Added ant target and POM files for building maven artifacts of the Solr core, common, |
---|
3659 | client and contrib. The target can publish artifacts with source and javadocs. |
---|
3660 | (Spencer Crissman, Craig McClanahan, shalin) |
---|
3661 | |
---|
3662 | ================== Release 1.2 ================== |
---|
3663 | |
---|
3664 | Upgrading from Solr 1.1 |
---|
3665 | ------------------------------------- |
---|
3666 | IMPORTANT UPGRADE NOTE: In a master/slave configuration, all searchers/slaves |
---|
3667 | should be upgraded before the master! If the master were to be updated |
---|
3668 | first, the older searchers would not be able to read the new index format. |
---|
3669 | |
---|
3670 | Older Apache Solr installations can be upgraded by replacing |
---|
3671 | the relevant war file with the new version. No changes to configuration |
---|
3672 | files should be needed. |
---|
3673 | |
---|
3674 | This version of Solr contains a new version of Lucene implementing |
---|
3675 | an updated index format. This version of Solr/Lucene can still read |
---|
3676 | and update indexes in the older formats, and will convert them to the new |
---|
3677 | format on the first index change. One change in the new index format |
---|
3678 | is that all "norms" are kept in a single file, greatly reducing the number |
---|
3679 | of files per segment. Users of compound file indexes will want to consider |
---|
3680 | converting to the non-compound format for faster indexing and slightly better |
---|
3681 | search concurrency. |
---|
3682 | |
---|
3683 | The JSON response format for facets has changed to make it easier for |
---|
3684 | clients to retain sorted order. Use json.nl=map explicitly in clients |
---|
3685 | to get the old behavior, or add it as a default to the request handler |
---|
3686 | in solrconfig.xml |
---|
3687 | |
---|
3688 | The Lucene based Solr query syntax is slightly more strict. |
---|
3689 | A ':' in a field value must be escaped or the whole value must be quoted. |
---|
3690 | |
---|
3691 | The Solr "Request Handler" framework has been updated in two key ways: |
---|
3692 | First, if a Request Handler is registered in solrconfig.xml with a name |
---|
3693 | starting with "/" then it can be accessed using path-based URL, instead of |
---|
3694 | using the legacy "/select?qt=name" URL structure. Second, the Request |
---|
3695 | Handler framework has been extended making it possible to write Request |
---|
3696 | Handlers that process streams of data for doing updates, and there is a |
---|
3697 | new-style Request Handler for XML updates given the name of "/update" in |
---|
3698 | the example solrconfig.xml. Existing installations without this "/update" |
---|
3699 | handler will continue to use the old update servlet and should see no |
---|
3700 | changes in behavior. For new-style update handlers, errors are now |
---|
3701 | reflected in the HTTP status code, Content-type checking is more strict, |
---|
3702 | and the response format has changed and is controllable via the wt |
---|
3703 | parameter. |
---|
3704 | |
---|
3705 | |
---|
3706 | |
---|
3707 | Detailed Change List |
---|
3708 | -------------------- |
---|
3709 | |
---|
3710 | New Features |
---|
3711 | 1. SOLR-82: Default field values can be specified in the schema.xml. |
---|
3712 | (Ryan McKinley via hossman) |
---|
3713 | |
---|
3714 | 2. SOLR-89: Two new TokenFilters with corresponding Factories... |
---|
3715 | * TrimFilter - Trims leading and trailing whitespace from Tokens |
---|
3716 | * PatternReplaceFilter - applies a Pattern to each token in the |
---|
3717 | stream, replacing match occurances with a specified replacement. |
---|
3718 | (hossman) |
---|
3719 | |
---|
3720 | 3. SOLR-91: allow configuration of a limit of the number of searchers |
---|
3721 | that can be warming in the background. This can be used to avoid |
---|
3722 | out-of-memory errors, or contention caused by more and more searchers |
---|
3723 | warming in the background. An error is thrown if the limit specified |
---|
3724 | by maxWarmingSearchers in solrconfig.xml is exceeded. (yonik) |
---|
3725 | |
---|
3726 | 4. SOLR-106: New faceting parameters that allow specification of a |
---|
3727 | minimum count for returned facets (facet.mincount), paging through facets |
---|
3728 | (facet.offset, facet.limit), and explicit sorting (facet.sort). |
---|
3729 | facet.zeros is now deprecated. (yonik) |
---|
3730 | |
---|
3731 | 5. SOLR-80: Negative queries are now allowed everywhere. Negative queries |
---|
3732 | are generated and cached as their positive counterpart, speeding |
---|
3733 | generation and generally resulting in smaller sets to cache. |
---|
3734 | Set intersections in SolrIndexSearcher are more efficient, |
---|
3735 | starting with the smallest positive set, subtracting all negative |
---|
3736 | sets, then intersecting with all other positive sets. (yonik) |
---|
3737 | |
---|
3738 | 6. SOLR-117: Limit a field faceting to constraints with a prefix specified |
---|
3739 | by facet.prefix or f.<field>.facet.prefix. (yonik) |
---|
3740 | |
---|
3741 | 7. SOLR-107: JAVA API: Change NamedList to use Java5 generics |
---|
3742 | and implement Iterable<Map.Entry> (Ryan McKinley via yonik) |
---|
3743 | |
---|
3744 | 8. SOLR-104: Support for "Update Plugins" -- RequestHandlers that want |
---|
3745 | access to streams of data for doing updates. ContentStreams can come |
---|
3746 | from the raw POST body, multi-part form data, or remote URLs. |
---|
3747 | Included in this change is a new SolrDispatchFilter that allows |
---|
3748 | RequestHandlers registered with names that begin with a "/" to be |
---|
3749 | accessed using a URL structure based on that name. |
---|
3750 | (Ryan McKinley via hossman) |
---|
3751 | |
---|
3752 | 9. SOLR-126: DirectUpdateHandler2 supports autocommitting after a specified time |
---|
3753 | (in ms), using <autoCommit><maxTime>10000</maxTime></autoCommit>. |
---|
3754 | (Ryan McKinley via klaas). |
---|
3755 | |
---|
3756 | 10. SOLR-116: IndexInfoRequestHandler added. (Erik Hatcher) |
---|
3757 | |
---|
3758 | 11. SOLR-79: Add system property ${<sys.prop>[:<default>]} substitution for |
---|
3759 | configuration files loaded, including schema.xml and solrconfig.xml. |
---|
3760 | (Erik Hatcher with inspiration from Andrew Saar) |
---|
3761 | |
---|
3762 | 12. SOLR-149: Changes to make Solr more easily embeddable, in addition |
---|
3763 | to logging which request handler handled each request. |
---|
3764 | (Ryan McKinley via yonik) |
---|
3765 | |
---|
3766 | 13. SOLR-86: Added standalone Java-based command-line updater. |
---|
3767 | (Erik Hatcher via Bertrand Delecretaz) |
---|
3768 | |
---|
3769 | 14. SOLR-152: DisMaxRequestHandler now supports configurable alternate |
---|
3770 | behavior when q is not specified. A "q.alt" param can be specified |
---|
3771 | using SolrQueryParser syntax as a mechanism for specifying what query |
---|
3772 | the dismax handler should execute if the main user query (q) is blank. |
---|
3773 | (Ryan McKinley via hossman) |
---|
3774 | |
---|
3775 | 15. SOLR-158: new "qs" (Query Slop) param for DisMaxRequestHandler |
---|
3776 | allows for specifying the amount of default slop to use when parsing |
---|
3777 | explicit phrase queries from the user. |
---|
3778 | (Adam Hiatt via hossman) |
---|
3779 | |
---|
3780 | 16. SOLR-81: SpellCheckerRequestHandler that uses the SpellChecker from |
---|
3781 | the Lucene contrib. |
---|
3782 | (Otis Gospodnetic and Adam Hiatt) |
---|
3783 | |
---|
3784 | 17. SOLR-182: allow lazy loading of request handlers on first request. |
---|
3785 | (Ryan McKinley via yonik) |
---|
3786 | |
---|
3787 | 18. SOLR-81: More SpellCheckerRequestHandler enhancements, inlcluding |
---|
3788 | support for relative or absolute directory path configurations, as |
---|
3789 | well as RAM based directory. (hossman) |
---|
3790 | |
---|
3791 | 19. SOLR-197: New parameters for input: stream.contentType for specifying |
---|
3792 | or overriding the content type of input, and stream.file for reading |
---|
3793 | local files. (Ryan McKinley via yonik) |
---|
3794 | |
---|
3795 | 20. SOLR-66: CSV data format for document additions and updates. (yonik) |
---|
3796 | |
---|
3797 | 21. SOLR-184: add echoHandler=true to responseHeader, support echoParams=all |
---|
3798 | (Ryan McKinley via ehatcher) |
---|
3799 | |
---|
3800 | 22. SOLR-211: Added a regex PatternTokenizerFactory. This extracts tokens |
---|
3801 | from the input string using a regex Pattern. (Ryan McKinley) |
---|
3802 | |
---|
3803 | 23. SOLR-162: Added a "Luke" request handler and other admin helpers. |
---|
3804 | This exposes the system status through the standard requestHandler |
---|
3805 | framework. (ryan) |
---|
3806 | |
---|
3807 | 24. SOLR-212: Added a DirectSolrConnection class. This lets you access |
---|
3808 | solr using the standard request/response formats, but does not require |
---|
3809 | an HTTP connection. It is designed for embedded applications. (ryan) |
---|
3810 | |
---|
3811 | 25. SOLR-204: The request dispatcher (added in SOLR-104) can handle |
---|
3812 | calls to /select. This offers uniform error handling for /update and |
---|
3813 | /select. To enable this behavior, you must add: |
---|
3814 | <requestDispatcher handleSelect="true" > to your solrconfig.xml |
---|
3815 | See the example solrconfig.xml for details. (ryan) |
---|
3816 | |
---|
3817 | 26. SOLR-170: StandardRequestHandler now supports a "sort" parameter. |
---|
3818 | Using the ';' syntax is still supported, but it is recommended to |
---|
3819 | transition to the new syntax. (ryan) |
---|
3820 | |
---|
3821 | 27. SOLR-181: The index schema now supports "required" fields. Attempts |
---|
3822 | to add a document without a required field will fail, returning a |
---|
3823 | descriptive error message. By default, the uniqueKey field is |
---|
3824 | a required field. This can be disabled by setting required=false |
---|
3825 | in schema.xml. (Greg Ludington via ryan) |
---|
3826 | |
---|
3827 | 28. SOLR-217: Fields configured in the schema to be neither indexed or |
---|
3828 | stored will now be quietly ignored by Solr when Documents are added. |
---|
3829 | The example schema has a comment explaining how this can be used to |
---|
3830 | ignore any "unknown" fields. |
---|
3831 | (Will Johnson via hossman) |
---|
3832 | |
---|
3833 | 29. SOLR-227: If schema.xml defines multiple fieldTypes, fields, or |
---|
3834 | dynamicFields with the same name, a severe error will be logged rather |
---|
3835 | then quietly continuing. Depending on the <abortOnConfigurationError> |
---|
3836 | settings, this may halt the server. Likewise, if solrconfig.xml |
---|
3837 | defines multiple RequestHandlers with the same name it will also add |
---|
3838 | an error. (ryan) |
---|
3839 | |
---|
3840 | 30. SOLR-226: Added support for dynamic field as the destination of a |
---|
3841 | copyField using glob (*) replacement. (ryan) |
---|
3842 | |
---|
3843 | 31. SOLR-224: Adding a PhoneticFilterFactory that uses apache commons codec |
---|
3844 | language encoders to build phonetically similar tokens. This currently |
---|
3845 | supports: DoubleMetaphone, Metaphone, Soundex, and RefinedSoundex (ryan) |
---|
3846 | |
---|
3847 | 32. SOLR-199: new n-gram tokenizers available via NGramTokenizerFactory |
---|
3848 | and EdgeNGramTokenizerFactory. (Adam Hiatt via yonik) |
---|
3849 | |
---|
3850 | 33. SOLR-234: TrimFilter can update the Token's startOffset and endOffset |
---|
3851 | if updateOffsets="true". By default the Token offsets are unchanged. |
---|
3852 | (ryan) |
---|
3853 | |
---|
3854 | 34. SOLR-208: new example_rss.xsl and example_atom.xsl to provide more |
---|
3855 | examples for people about the Solr XML response format and how they |
---|
3856 | can transform it to suit different needs. |
---|
3857 | (Brian Whitman via hossman) |
---|
3858 | |
---|
3859 | 35. SOLR-249: Deprecated SolrException( int, ... ) constructors in favor |
---|
3860 | of constructors that takes an ErrorCode enum. This will ensure that |
---|
3861 | all SolrExceptions use a valid HTTP status code. (ryan) |
---|
3862 | |
---|
3863 | 36. SOLR-386: Abstracted SolrHighlighter and moved existing implementation |
---|
3864 | to DefaultSolrHighlighter. Adjusted SolrCore and solrconfig.xml so |
---|
3865 | that highlighter is configurable via a class attribute. Allows users |
---|
3866 | to use their own highlighter implementation. (Tricia Williams via klaas) |
---|
3867 | |
---|
3868 | Changes in runtime behavior |
---|
3869 | 1. Highlighting using DisMax will only pick up terms from the main |
---|
3870 | user query, not boost or filter queries (klaas). |
---|
3871 | |
---|
3872 | 2. SOLR-125: Change default of json.nl to flat, change so that |
---|
3873 | json.nl only affects items where order matters (facet constraint |
---|
3874 | listings). Fix JSON output bug for null values. Internal JAVA API: |
---|
3875 | change most uses of NamedList to SimpleOrderedMap. (yonik) |
---|
3876 | |
---|
3877 | 3. A new method "getSolrQueryParser" has been added to the IndexSchema |
---|
3878 | class for retrieving a new SolrQueryParser instance with all options |
---|
3879 | specified in the schema.xml's <solrQueryParser> block set. The |
---|
3880 | documentation for the SolrQueryParser constructor and it's use of |
---|
3881 | IndexSchema have also been clarified. |
---|
3882 | (Erik Hatcher and hossman) |
---|
3883 | |
---|
3884 | 4. DisMaxRequestHandler's bq, bf, qf, and pf parameters can now accept |
---|
3885 | multiple values (klaas). |
---|
3886 | |
---|
3887 | 5. Query are re-written before highlighting is performed. This enables |
---|
3888 | proper highlighting of prefix and wildcard queries (klaas). |
---|
3889 | |
---|
3890 | 6. A meaningful exception is raised when attempting to add a doc missing |
---|
3891 | a unique id if it is declared in the schema and allowDups=false. |
---|
3892 | (ryan via klaas) |
---|
3893 | |
---|
3894 | 7. SOLR-183: Exceptions with error code 400 are raised when |
---|
3895 | numeric argument parsing fails. RequiredSolrParams class added |
---|
3896 | to facilitate checking for parameters that must be present. |
---|
3897 | (Ryan McKinley, J.J. Larrea via yonik) |
---|
3898 | |
---|
3899 | 8. SOLR-179: By default, solr will abort after any severe initalization |
---|
3900 | errors. This behavior can be disabled by setting: |
---|
3901 | <abortOnConfigurationError>false</abortOnConfigurationError> |
---|
3902 | in solrconfig.xml (ryan) |
---|
3903 | |
---|
3904 | 9. The example solrconfig.xml maps /update to XmlUpdateRequestHandler using |
---|
3905 | the new request dispatcher (SOLR-104). This requires posted content to |
---|
3906 | have a valid contentType: curl -H 'Content-type:text/xml; charset=utf-8' |
---|
3907 | The response format matches that of /select and returns standard error |
---|
3908 | codes. To enable solr1.1 style /update, do not map "/update" to any |
---|
3909 | handler in solrconfig.xml (ryan) |
---|
3910 | |
---|
3911 | 10. SOLR-231: If a charset is not specified in the contentType, |
---|
3912 | ContentStream.getReader() will use UTF-8 encoding. (ryan) |
---|
3913 | |
---|
3914 | 11. SOLR-230: More options for post.jar to support stdin, xml on the |
---|
3915 | commandline, and defering commits. Tutorial modified to take |
---|
3916 | advantage of these options so there is no need for curl. |
---|
3917 | (hossman) |
---|
3918 | |
---|
3919 | 12. SOLR-128: Upgraded Jetty to the latest stable release 6.1.3 (ryan) |
---|
3920 | |
---|
3921 | Optimizations |
---|
3922 | 1. SOLR-114: HashDocSet specific implementations of union() and andNot() |
---|
3923 | for a 20x performance improvement for those set operations, and a new |
---|
3924 | hash algorithm speeds up exists() by 10% and intersectionSize() by 8%. |
---|
3925 | (yonik) |
---|
3926 | |
---|
3927 | 2. SOLR-115: Solr now uses BooleanQuery.clauses() instead of |
---|
3928 | BooleanQuery.getClauses() in any situation where there is no risk of |
---|
3929 | modifying the original query. |
---|
3930 | (hossman) |
---|
3931 | |
---|
3932 | 3. SOLR-221: Speed up sorted faceting on multivalued fields by ~60% |
---|
3933 | when the base set consists of a relatively large portion of the |
---|
3934 | index. (yonik) |
---|
3935 | |
---|
3936 | 4. SOLR-221: Added a facet.enum.cache.minDf parameter which avoids |
---|
3937 | using the filterCache for terms that match few documents, trading |
---|
3938 | decreased memory usage for increased query time. (yonik) |
---|
3939 | |
---|
3940 | Bug Fixes |
---|
3941 | 1. SOLR-87: Parsing of synonym files did not correctly handle escaped |
---|
3942 | whitespace such as \r\n\t\b\f. (yonik) |
---|
3943 | |
---|
3944 | 2. SOLR-92: DOMUtils.getText (used when parsing config files) did not |
---|
3945 | work properly with many DOM implementations when dealing with |
---|
3946 | "Attributes". (Ryan McKinley via hossman) |
---|
3947 | |
---|
3948 | 3. SOLR-9,SOLR-99: Tighten up sort specification error checking, throw |
---|
3949 | exceptions for missing sort specifications or a sort on a non-indexed |
---|
3950 | field. (Ryan McKinley via yonik) |
---|
3951 | |
---|
3952 | 4. SOLR-145: Fix for bug introduced in SOLR-104 where some Exceptions |
---|
3953 | were being ignored by all "out of the box" RequestHandlers. (hossman) |
---|
3954 | |
---|
3955 | 5. SOLR-166: JNDI solr.home code refactoring. SOLR-104 moved |
---|
3956 | some JNDI related code to the init method of a Servlet Filter - |
---|
3957 | according to the Servlet Spec, all Filter's should be initialized |
---|
3958 | prior to initializing any Servlets, but this is not the case in at |
---|
3959 | least one Servlet Container (Resin). This "bug fix" refactors |
---|
3960 | this JNDI code so that it should be executed the first time any |
---|
3961 | attempt is made to use the solr.home dir. |
---|
3962 | (Ryan McKinley via hossman) |
---|
3963 | |
---|
3964 | 6. SOLR-173: Bug fix to SolrDispatchFilter to reduce "too many open |
---|
3965 | files" problem was that SolrDispatchFilter was not closing requests |
---|
3966 | when finished. Also modified ResponseWriters to only fetch a Searcher |
---|
3967 | reference if necessary for writing out DocLists. |
---|
3968 | (Ryan McKinley via hossman) |
---|
3969 | |
---|
3970 | 7. SOLR-168: Fix display positioning of multiple tokens at the same |
---|
3971 | position in analysis.jsp (yonik) |
---|
3972 | |
---|
3973 | 8. SOLR-167: The SynonymFilter sometimes generated incorrect offsets when |
---|
3974 | multi token synonyms were mached in the source text. (yonik) |
---|
3975 | |
---|
3976 | 9. SOLR-188: bin scripts do not support non-default webapp names. Added "-U" |
---|
3977 | option to specify a full path to the update url, overriding the |
---|
3978 | "-h" (hostname), "-p" (port) and "-w" (webapp name) parameters. |
---|
3979 | (Jeff Rodenburg via billa) |
---|
3980 | |
---|
3981 | 10. SOLR-198: RunExecutableListener always waited for the process to |
---|
3982 | finish, even when wait="false" was set. (Koji Sekiguchi via yonik) |
---|
3983 | |
---|
3984 | 11. SOLR-207: Changed distribution scripts to remove recursive find |
---|
3985 | and avoid use of "find -maxdepth" on platforms where it is not |
---|
3986 | supported. (yonik) |
---|
3987 | |
---|
3988 | 12. SOLR-222: Changing writeLockTimeout in solrconfig.xml did not |
---|
3989 | change the effective timeout. (Koji Sekiguchi via yonik) |
---|
3990 | |
---|
3991 | 13. Changed the SOLR-104 RequestDispatcher so that /select?qt=xxx can not |
---|
3992 | access handlers that start with "/". This makes path based authentication |
---|
3993 | possible for path based request handlers. (ryan) |
---|
3994 | |
---|
3995 | 14. SOLR-214: Some servlet containers (including Tomcat and Resin) do not |
---|
3996 | obey the specified charset. Rather then letting the the container handle |
---|
3997 | it solr now uses the charset from the header contentType to decode posted |
---|
3998 | content. Using the contentType: "text/xml; charset=utf-8" will force |
---|
3999 | utf-8 encoding. If you do not specify a contentType, it will use the |
---|
4000 | platform default. (Koji Sekiguchi via ryan) |
---|
4001 | |
---|
4002 | 15. SOLR-241: Undefined system properties used in configuration files now |
---|
4003 | cause a clear message to be logged rather than an obscure exception thrown. |
---|
4004 | (Koji Sekiguchi via ehatcher) |
---|
4005 | |
---|
4006 | Other Changes |
---|
4007 | 1. Updated to Lucene 2.1 |
---|
4008 | |
---|
4009 | 2. Updated to Lucene 2007-05-20_00-04-53 |
---|
4010 | |
---|
4011 | ================== Release 1.1.0 ================== |
---|
4012 | |
---|
4013 | Status |
---|
4014 | ------ |
---|
4015 | This is the first release since Solr joined the Incubator, and brings many |
---|
4016 | new features and performance optimizations including highlighting, |
---|
4017 | faceted browsing, and JSON/Python/Ruby response formats. |
---|
4018 | |
---|
4019 | |
---|
4020 | Upgrading from previous Solr versions |
---|
4021 | ------------------------------------- |
---|
4022 | Older Apache Solr installations can be upgraded by replacing |
---|
4023 | the relevant war file with the new version. No changes to configuration |
---|
4024 | files are needed and the index format has not changed. |
---|
4025 | |
---|
4026 | The default version of the Solr XML response syntax has been changed to 2.2. |
---|
4027 | Behavior can be preserved for those clients not explicitly specifying a |
---|
4028 | version by adding a default to the request handler in solrconfig.xml |
---|
4029 | |
---|
4030 | By default, Solr will no longer use a searcher that has not fully warmed, |
---|
4031 | and requests will block in the meantime. To change back to the previous |
---|
4032 | behavior of using a cold searcher in the event there is no other |
---|
4033 | warm searcher, see the useColdSearcher config item in solrconfig.xml |
---|
4034 | |
---|
4035 | The XML response format when adding multiple documents to the collection |
---|
4036 | in a single <add> command has changed to return a single <result>. |
---|
4037 | |
---|
4038 | |
---|
4039 | Detailed Change List |
---|
4040 | -------------------- |
---|
4041 | |
---|
4042 | New Features |
---|
4043 | 1. added support for setting Lucene's positionIncrementGap |
---|
4044 | 2. Admin: new statistics for SolrIndexSearcher |
---|
4045 | 3. Admin: caches now show config params on stats page |
---|
4046 | 3. max() function added to FunctionQuery suite |
---|
4047 | 4. postOptimize hook, mirroring the functionallity of the postCommit hook, |
---|
4048 | but only called on an index optimize. |
---|
4049 | 5. Ability to HTTP POST query requests to /select in addition to HTTP-GET |
---|
4050 | 6. The default search field may now be overridden by requests to the |
---|
4051 | standard request handler using the df query parameter. (Erik Hatcher) |
---|
4052 | 7. Added DisMaxRequestHandler and SolrPluginUtils. (Chris Hostetter) |
---|
4053 | 8. Support for customizing the QueryResponseWriter per request |
---|
4054 | (Mike Baranczak / SOLR-16 / hossman) |
---|
4055 | 9. Added KeywordTokenizerFactory (hossman) |
---|
4056 | 10. copyField accepts dynamicfield-like names as the source. |
---|
4057 | (Darren Erik Vengroff via yonik, SOLR-21) |
---|
4058 | 11. new DocSet.andNot(), DocSet.andNotSize() (yonik) |
---|
4059 | 12. Ability to store term vectors for fields. (Mike Klaas via yonik, SOLR-23) |
---|
4060 | 13. New abstract BufferedTokenStream for people who want to write |
---|
4061 | Tokenizers or TokenFilters that require arbitrary buffering of the |
---|
4062 | stream. (SOLR-11 / yonik, hossman) |
---|
4063 | 14. New RemoveDuplicatesToken - useful in situations where |
---|
4064 | synonyms, stemming, or word-deliminater-ing produce identical tokens at |
---|
4065 | the same position. (SOLR-11 / yonik, hossman) |
---|
4066 | 15. Added highlighting to SolrPluginUtils and implemented in StandardRequestHandler |
---|
4067 | and DisMaxRequestHandler (SOLR-24 / Mike Klaas via hossman,yonik) |
---|
4068 | 16. SnowballPorterFilterFactory language is configurable via the "language" |
---|
4069 | attribute, with the default being "English". (Bertrand Delacretaz via yonik, SOLR-27) |
---|
4070 | 17. ISOLatin1AccentFilterFactory, instantiates ISOLatin1AccentFilter to remove accents. |
---|
4071 | (Bertrand Delacretaz via yonik, SOLR-28) |
---|
4072 | 18. JSON, Python, Ruby QueryResponseWriters: use wt="json", "python" or "ruby" |
---|
4073 | (yonik, SOLR-31) |
---|
4074 | 19. Make web admin pages return UTF-8, change Content-type declaration to include a |
---|
4075 | space between the mime-type and charset (Philip Jacob, SOLR-35) |
---|
4076 | 20. Made query parser default operator configurable via schema.xml: |
---|
4077 | <solrQueryParser defaultOperator="AND|OR"/> |
---|
4078 | The default operator remains "OR". |
---|
4079 | 21. JAVA API: new version of SolrIndexSearcher.getDocListAndSet() which takes |
---|
4080 | flags (Greg Ludington via yonik, SOLR-39) |
---|
4081 | 22. A HyphenatedWordsFilter, a text analysis filter used during indexing to rejoin |
---|
4082 | words that were hyphenated and split by a newline. (Boris Vitez via yonik, SOLR-41) |
---|
4083 | 23. Added a CompressableField base class which allows fields of derived types to |
---|
4084 | be compressed using the compress=true setting. The field type also gains the |
---|
4085 | ability to specify a size threshold at which field data is compressed. |
---|
4086 | (klaas, SOLR-45) |
---|
4087 | 24. Simple faceted search support for fields (enumerating terms) |
---|
4088 | and arbitrary queries added to both StandardRequestHandler and |
---|
4089 | DisMaxRequestHandler. (hossman, SOLR-44) |
---|
4090 | 25. In addition to specifying default RequestHandler params in the |
---|
4091 | solrconfig.xml, support has been added for configuring values to be |
---|
4092 | appended to the multi-val request params, as well as for configuring |
---|
4093 | invariant params that can not overridden in the query. (hossman, SOLR-46) |
---|
4094 | 26. Default operator for query parsing can now be specified with q.op=AND|OR |
---|
4095 | from the client request, overriding the schema value. (ehatcher) |
---|
4096 | 27. New XSLTResponseWriter does server side XSLT processing of XML Response. |
---|
4097 | In the process, an init(NamedList) method was added to QueryResponseWriter |
---|
4098 | which works the same way as SolrRequestHandler. |
---|
4099 | (Bertrand Delacretaz / SOLR-49 / hossman) |
---|
4100 | 28. json.wrf parameter adds a wrapper-function around the JSON response, |
---|
4101 | useful in AJAX with dynamic script tags for specifying a JavaScript |
---|
4102 | callback function. (Bertrand Delacretaz via yonik, SOLR-56) |
---|
4103 | 29. autoCommit can be specified every so many documents added (klaas, SOLR-65) |
---|
4104 | 30. ${solr.home}/lib directory can now be used for specifying "plugin" jars |
---|
4105 | (hossman, SOLR-68) |
---|
4106 | 31. Support for "Date Math" relative "NOW" when specifying values of a |
---|
4107 | DateField in a query -- or when adding a document. |
---|
4108 | (hossman, SOLR-71) |
---|
4109 | 32. useColdSearcher control in solrconfig.xml prevents the first searcher |
---|
4110 | from being used before it's done warming. This can help prevent |
---|
4111 | thrashing on startup when multiple requests hit a cold searcher. |
---|
4112 | The default is "false", preventing use before warm. (yonik, SOLR-77) |
---|
4113 | |
---|
4114 | Changes in runtime behavior |
---|
4115 | 1. classes reorganized into different packages, package names changed to Apache |
---|
4116 | 2. force read of document stored fields in QuerySenderListener |
---|
4117 | 3. Solr now looks in ./solr/conf for config, ./solr/data for data |
---|
4118 | configurable via solr.solr.home system property |
---|
4119 | 4. Highlighter params changed to be prefixed with "hl."; allow fragmentsize |
---|
4120 | customization and per-field overrides on many options |
---|
4121 | (Andrew May via klaas, SOLR-37) |
---|
4122 | 5. Default param values for DisMaxRequestHandler should now be specified |
---|
4123 | using a '<lst name="defaults">...</lst>' init param, for backwards |
---|
4124 | compatability all init prams will be used as defaults if an init param |
---|
4125 | with that name does not exist. (hossman, SOLR-43) |
---|
4126 | 6. The DisMaxRequestHandler now supports multiple occurances of the "fq" |
---|
4127 | param. (hossman, SOLR-44) |
---|
4128 | 7. FunctionQuery.explain now uses ComplexExplanation to provide more |
---|
4129 | accurate score explanations when composed in a BooleanQuery. |
---|
4130 | (hossman, SOLR-25) |
---|
4131 | 8. Document update handling locking is much sparser, allowing performance gains |
---|
4132 | through multiple threads. Large commits also might be faster (klaas, SOLR-65) |
---|
4133 | 9. Lazy field loading can be enabled via a solrconfig directive. This will be faster when |
---|
4134 | not all stored fields are needed from a document (klaas, SOLR-52) |
---|
4135 | 10. Made admin JSPs return XML and transform them with new XSL stylesheets |
---|
4136 | (Otis Gospodnetic, SOLR-58) |
---|
4137 | 11. If the "echoParams=explicit" request parameter is set, request parameters are copied |
---|
4138 | to the output. In an XML output, they appear in new <lst name="params"> list inside |
---|
4139 | the new <lst name="responseHeader"> element, which replaces the old <responseHeader>. |
---|
4140 | Adding a version=2.1 parameter to the request produces the old format, for backwards |
---|
4141 | compatibility (bdelacretaz and yonik, SOLR-59). |
---|
4142 | |
---|
4143 | Optimizations |
---|
4144 | 1. getDocListAndSet can now generate both a DocList and a DocSet from a |
---|
4145 | single lucene query. |
---|
4146 | 2. BitDocSet.intersectionSize(HashDocSet) no longer generates an intermediate |
---|
4147 | set |
---|
4148 | 3. OpenBitSet completed, replaces BitSet as the implementation for BitDocSet. |
---|
4149 | Iteration is faster, and BitDocSet.intersectionSize(BitDocSet) and unionSize |
---|
4150 | is between 3 and 4 times faster. (yonik, SOLR-15) |
---|
4151 | 4. much faster unionSize when one of the sets is a HashDocSet: O(smaller_set_size) |
---|
4152 | 5. Optimized getDocSet() for term queries resulting in a 36% speedup of facet.field |
---|
4153 | queries where DocSets aren't cached (for example, if the number of terms in the field |
---|
4154 | is larger than the filter cache.) (yonik) |
---|
4155 | 6. Optimized facet.field faceting by as much as 500 times when the field has |
---|
4156 | a single token per document (not multiValued & not tokenized) by using the |
---|
4157 | Lucene FieldCache entry for that field to tally term counts. The first request |
---|
4158 | utilizing the FieldCache will take longer than subsequent ones. |
---|
4159 | |
---|
4160 | Bug Fixes |
---|
4161 | 1. Fixed delete-by-id for field types who's indexed form is different |
---|
4162 | from the printable form (mainly sortable numeric types). |
---|
4163 | 2. Added escaping of attribute values in the XML response (Erik Hatcher) |
---|
4164 | 3. Added empty extractTerms() to FunctionQuery to enable use in |
---|
4165 | a MultiSearcher (Yonik) |
---|
4166 | 4. WordDelimiterFilter sometimes lost token positionIncrement information |
---|
4167 | 5. Fix reverse sorting for fields were sortMissingFirst=true |
---|
4168 | (Rob Staveley, yonik) |
---|
4169 | 6. Worked around a Jetty bug that caused invalid XML responses for fields |
---|
4170 | containing non ASCII chars. (Bertrand Delacretaz via yonik, SOLR-32) |
---|
4171 | 7. WordDelimiterFilter can throw exceptions if configured with both |
---|
4172 | generate and catenate off. (Mike Klaas via yonik, SOLR-34) |
---|
4173 | 8. Escape '>' in XML output (because ]]> is illegal in CharData) |
---|
4174 | 9. field boosts weren't being applied and doc boosts were being applied to fields (klaas) |
---|
4175 | 10. Multiple-doc update generates well-formed xml (klaas, SOLR-65) |
---|
4176 | 11. Better parsing of pingQuery from solrconfig.xml (hossman, SOLR-70) |
---|
4177 | 12. Fixed bug with "Distribution" page introduced when Versions were |
---|
4178 | added to "Info" page (hossman) |
---|
4179 | 13. Fixed HTML escaping issues with user input to analysis.jsp and action.jsp |
---|
4180 | (hossman, SOLR-74) |
---|
4181 | |
---|
4182 | Other Changes |
---|
4183 | 1. Upgrade to Lucene 2.0 nightly build 2006-06-22, lucene SVN revision 416224, |
---|
4184 | http://svn.apache.org/viewvc/lucene/java/trunk/CHANGES.txt?view=markup&pathrev=416224 |
---|
4185 | 2. Modified admin styles to improve display in Internet Explorer (Greg Ludington via billa, SOLR-6) |
---|
4186 | 3. Upgrade to Lucene 2.0 nightly build 2006-07-15, lucene SVN revision 422302, |
---|
4187 | 4. Included unique key field name/value (if available) in log message of add (billa, SOLR-18) |
---|
4188 | 5. Updated to Lucene 2.0 nightly build 2006-09-07, SVN revision 462111 |
---|
4189 | 6. Added javascript to catch empty query in admin query forms (Tomislav Nakic-Alfirevic via billa, SOLR-48 |
---|
4190 | 7. blackslash escape * in ssh command used in snappuller for zsh compatibility, SOLR-63 |
---|
4191 | 8. check solr return code in admin scripts, SOLR-62 |
---|
4192 | 9. Updated to Lucene 2.0 nightly build 2006-11-15, SVN revision 475069 |
---|
4193 | 10. Removed src/apps containing the legacy "SolrTest" app (hossman, SOLR-3) |
---|
4194 | 11. Simplified index.jsp and form.jsp, primarily by removing/hiding XML |
---|
4195 | specific params, and adding an option to pick the output type. (hossman) |
---|
4196 | 12. Added new numeric build property "specversion" to allow clean |
---|
4197 | MANIFEST.MF files (hossman) |
---|
4198 | 13. Added Solr/Lucene versions to "Info" page (hossman) |
---|
4199 | 14. Explicitly set mime-type of .xsl files in web.xml to |
---|
4200 | application/xslt+xml (hossman) |
---|
4201 | 15. Config parsing should now work useing DOM Level 2 parsers -- Solr |
---|
4202 | previously relied on getTextContent which is a DOM Level 3 addition |
---|
4203 | (Alexander Saar via hossman, SOLR-78) |
---|
4204 | |
---|
4205 | 2006/01/17 Solr open sourced, moves to Apache Incubator |
---|