Skip to content

Latest commit

 

History

History
258 lines (154 loc) · 14.8 KB

CHANGELOG.md

File metadata and controls

258 lines (154 loc) · 14.8 KB

Changelog

2.3.6

  • Fix bug #390 with fuzzy matching that meant deletions at the end of a word would not match. Thanks Luca Ongaro for reporting.

## 2.3.5

  • Fix bug #375 with fuzzy matching that meant insertions at the end of a word would not match. Thanks Luca Ongaro for reporting and to Rob Hoelz for providing a fix.
  • Switch to using Array.isArray when checking for results from pipeline functions to support vm.runInContext, #381 thanks Rob Hoelz.

2.3.4

2.3.3

  • Fig bugs #270 and #368, some wildcard searches over long tokens could be extremely slow, potentially pinning the current thread indefinitely. Thanks Kyle Spearrin and Mohamed Eltuhamy for reporting.

2.3.2

  • Fix bug #369 in parsing queries that include either a boost or edit distance modifier followed by a presence modifier on a subsequent term. Thanks mtdjr for reporting.

2.3.1

2.3.0

  • Add support for build time field and document boosts.
  • Add support for indexing nested document fields using field extractors.
  • Prevent usage of problematic characters in field names, thanks Stephane Mankowski.
  • Fix bug when using an array of tokens in a single query term, thanks Michael Manukyan.

2.2.1

  • Fix bug #344 in logic for required terms in multiple fields, thanks Stephane Mankowski.
  • Upgrade mocha and fix some test snafus.

2.2.0

  • Add support for queries with term presence, e.g. required terms and prohibited terms.
  • Add support for using the output of lunr.tokenizer directly with lunr.Query#term.
  • Add field name metadata to tokens in build and search pipelines.
  • Fix documentation for lunr.Index constructor, thanks Michael Manukyan.

2.1.6

  • Improve pipeline performance for large fields #329, thanks andymcm.

2.1.5

  • Fix bug #320 which caused result metadata to be nested under search term instead of field name. Thanks Jonny Gerig Meyer for reporting and fixing.

2.1.4

  • Cache inverse document calculation during build to improve build performance.
  • Introduce new method for combining term metadata at search time.
  • Improve performance of searches with duplicate search terms.
  • Tweaks to build process.

2.1.3

  • Remove private tag from lunr.Builder#build, it should be public, thanks Sean Tan.

2.1.2

  • Fix bug #282 which caused metadata stored in the index to be mutated during search, thanks Andrew Aldridge.

2.1.1

  • Fix bug #280 in builder where an object with prototype was being used as a Map, thanks Pete Bacon Darwin.

2.1.0

  • Improve handling of term boosts across multiple fields #263
  • Enable escaping of special characters when performing a search #271
  • Add ability to programatically include leading and trailing wildcards when performing a query.

2.0.4

  • Fix bug in IDF calculation that meant the weight for common words was not correctly calculated.

2.0.3

  • Fix bug #256 where duplicate query terms could cause a 'duplicate index' error when building the query vector. Thanks Bjorn Svensson, Jason Feng, and et1421 for reporting and confirming the issue.

2.0.2

  • Fix bug #255 where search queries used a different separator than the tokeniser causing some terms to not be searchable. Thanks Wes Cossick for reporting.
  • Reduce precision of term scores stored in document vectors to reduce the size of serialised indexes by ~15%, thanks Qvatra for the idea.

2.0.1

  • Fix regression #254 where documents containing terms that match properties from Object.prototype cause errors during indexing. Thanks VonFry for reporting.

2.0.0

  • Indexes are now immutable, this allows for more space efficient indexes, more advanced searching and better performance.
  • Text processing can now attach metadata to tokens the enter the index, this opens up the possibility of highlighting search terms in results.
  • More advanced searching including search time field boosts, search by field, fuzzy matching and leading and trailing wildcards.

1.0.0

  • Deprecate incorrectly spelled lunr.tokenizer.separator.
  • No other changes, but bumping to 1.0.0 because it's overdue, and the interfaces are pretty stable now. It also paves the way for 2.0.0...

0.7.2

  • Fix bug when loading a serialised tokeniser #226, thanks Alex Turpin for reporting the issue.
  • Learn how to spell separator #223, thanks peterennis for helping me learn to spell.

0.7.1

  • Correctly set the license using the @license doc tag #217, thanks Carlos Araya.

0.7.0

  • Make tokenizer a property of the index, allowing for different indexes to use different tokenizers #205 and #21.
  • Fix bug that prevented very large documents from being indexed #203, thanks Daniel Grießhaber.
  • Performance improvements when adding documents to the index #208, thanks Dougal Matthews.

0.6.0

  • Ensure document ref property type is preserved when returning results #117, thanks Kyle Kirby.
  • Introduce lunr.generateStopWordFilter for generating a stop word filter from a provided list of stop words.
  • Replace array-like string access with ES3 compatible String.prototype.charAt #186, thanks jkellerer.
  • Move empty string filtering from lunr.trimmer to lunr.Pipeline.prototype.run so that empty tokens do not enter the index, regardless of the trimmer being used #178, #177 and #174
  • Allow tokenization of arrays with null and non string elements #172.
  • Parameterize the seperator used by lunr.tokenizer, fixes #102.

0.5.12

  • Implement lunr.stopWordFilter with an object instead of using lunr.SortedSet #170, resulting in a performance boost for the text processing pipeline, thanks to Brian Vaughn.
  • Ensure that lunr.trimmer does not introduce empty tokens into the index, #166, thanks to janeisklar

## 0.5.11

0.5.10

0.5.9

  • Remove recursion from SortedSet#indexOf and SortedSet#locationFor to gain small performance gains in Index#search and Index#add
  • Fix incorrect handling of non existant functions when adding/removing from a Pipeline #146 thanks to weixsong

0.5.8

0.5.7

0.5.6

  • Performance improvement when add documents to the index #114 thanks Alex Holmes

0.5.5

0.5.4

0.5.3

0.5.2

  • Use npm they said, it'll be easy they said.

0.5.1

0.5.0

  • Add plugin support to enable i18n and other extensions to lunr.
  • Add AMD support #72 thanks lnwdr.
  • lunr.Vector now implemented using linked lists for better performance especially in indexes with large numbers of unique tokens.
  • Build system clean up.

0.4.5

  • Fix performance regression introduced in 0.4.4 by fixing #64.

0.4.4

  • Fix bug #64 idf cache should handle tokens with the same name as object properties, thanks gitgrimbo.
  • Intersperse source files with a semicolon as part of the build process, fixes #61, thanks shyndman.

0.4.3

  • Fix bug #49 tokenizer should handle null and undefined as arguments, thanks jona.

0.4.2

  • Fix bug #47 tokenizer converts its input to a string before trying to split it into tokens, thanks mikhailkozlov.

0.4.1

  • Fix bug #41 that caused issues when indexing mixed case tags, thanks Aptary

0.4.0

  • Add index mutation events ('add', 'update' and 'remove').
  • Performance improvements to searching.
  • Penalise non-exact matches so exact matches are better ranked than expanded matches.

0.3.3

  • Fix bug #32 which prevented lunr being used where a console object is not present, thanks Tony Marklove and wyuenho

0.3.2

  • Fix bug #27 when trying to calculate tf with empty fields, thanks Gambhiro

0.3.1

0.3.0

  • Implement JSON serialisation, allows indexes to be loaded and dumped, thanks ssured.
  • Performance improvements to searching and indexing.
  • Fix bug #15 with tokeniser that added stray empty white space to the index, thanks ssured.

0.2.3

0.2.2

  • Boost exact term matches so they are better ranked than expanded term matches, fixes #10, thanks ssured

0.2.1

  • Changes to the build process.
  • Add component.json and package.json
  • Add phantomjs test runner
  • Remove redundant attributes
  • Many spelling corrections, thanks Pascal Borreli