Releases: Shazwazza/Examine
v3.6.0
Adds new options for LuceneQueryOptions
to work around limitations imposed by version 3.4.0 where the maximum data set size that can be paged is 10k when using Skip/Take.
If paging over data sets larger than 10k items is required and is not possible without using the more efficient SearchAfter feature, than these new options will allow Skip/Take to work but will have some performance implications.
- SkipTakeMaxResults - this will override the default value of 10k.
- AutoCalculateSkipTakeMaxResults - if set to true, than the total number of documents in the index will be calculated and used as the value for SkipTakeMaxResults. This means an additional index query is required for each query.
The reason the default 10K limit is imposed is because if this number is exceeded than additional memory and performance overheads will be incurred due to what Lucene allocates under the hood. Even Elastic Search has this limitation. For paging over large data sets, it is recommended to use the SearchAfter feature.
Examples have been added to the FluentApiTests.Paging_With_Skip_Take
test for a reference on how to use these new options.
Full Changelog: v3.5.0...v3.6.0
v3.5.0
- Updates dependencies, especially to latest Lucene.Net 4.8.0-beta00017
Full Changelog: v3.4.0...v3.5.0
v3.4.0
- BREAKING - the default max results are now 100 instead of 500. This is a performance update since the larger max docs returned for any given query will allocate a buffer for that many items, even if there isn't that many documents to return. It is strongly advised to use the
QueryOptions
to specify page size. - BREAKING - the absolute max paged dataset is now limited to 10000 instead of pre-calculating how many documents exist in the index for each search since performance degrades when paging over large data sets like this. Instead, it is recommended to use the SearchAfter feature.
- PERFORMANCE - a performance update which includes the above along with less allocations and lookups being used when searching.
- PERFORMANCE - when NRT is enabled (default), the NRTCachingDirectory is now used.
- FEATURE - exposes NRT settings in LuceneIndexOptions and ensures that SearcherManager is used correctly when NRT is not enabled.
- BUGFIX - when rebuilding an index, ensures that commit and merges are handled so that old files are removed.
- BUGFIX - when SyncedFileSystemDirectoryFactory detects a corrupt index, ensures that commit and merges are handled so that old files are removed.
Full Changelog: v3.3.0...v3.4.0
v3.3.0
What's Changed
Release notes: https://shazwazza.com/post/an-examine-fix-for-umbraco-index-corruption/
- Fixes umbraco/Umbraco-CMS#16163
- Fixes Lucene.Net.Index.CorruptIndexException: invalid deletion count: 2 vs docCount=1 #382
v3.2.1
- Bump nokogiri from 1.15.4 to 1.16.3 in /docs by @dependabot in #380
- Bumps to LTS versions of .NET and updates dependencies.
- Uses FSDirectory.Open for all directory usages including.
- Resolves: Abstaction of LuceneIndex.cs #351
Full Changelog: v3.2.0...v3.2.1
v3.2.0
What's Changed
- Migrate docs site to docfx by @nzdev in #322
- Support for efficient deep paging in lucene.net by @nzdev in #320
- test: Add .NET 7 target to tests by @nikcio in #318
- Added docs on Indexing events by @nikcio in #300
- CI - Add your build.yml change to the release branch 3.0 by @nikcio in #343
- Record v3 shipped API using Microsoft.CodeAnalysis.PublicApiAnalyzers by @nzdev in #346
- Bump nokogiri from 1.13.9 to 1.15.4 in /docs by @dependabot in #348
- fix typo error in searching.md by @vivekBoii in #353
- fixed typo error in searching.md by @vivekBoii in #354
- fix typo error in searching.md by @vivekBoii in #355
- Fix docs for synchronous index building by @jakoss in #371
New Contributors
- @vivekBoii made their first contribution in #353
- @jakoss made their first contribution in #371
Full Changelog: v3.1.0...v3.2.0
v4.0.0-beta.1
What's Changed
- Implementation of Facets (#310) by @nikcio in #311
- Facets XML (#311) by @nikcio in #312
- Delete ReaderStatus by @nikcio in #336
- Facets nullable (#311 & #307) by @nikcio in #313
- Added docs on Indexing events by @nikcio in #300
- Taxonomy Index for Facets by @nzdev in #323
- Support for deep paging for Facets by @nzdev in #321
- Update packages by @nzdev in #332
- Fix V4 compatibility with V3 API by @nzdev in #347
- Record v3 shipped API using Microsoft.CodeAnalysis.PublicApiAnalyzers by @nzdev in #346
- Allow mix of single objects and enumerables in valueset by @andrewmckaskill in #340
- Ensure V4 API, reduce warnings by @nzdev in #349
- Update docs about facets by @bjarnef in #350
- fix typo error in searching.md by @vivekBoii in #353
New Contributors
- @andrewmckaskill made their first contribution in #340
Full Changelog: v3.1.0...v4.0.0-beta.1
v3.2.0-beta.9
What's Changed
- Support for efficient deep paging in lucene.net by @nzdev in #320
- Migrate docs site to docfx by @nzdev in #322
- test: Add .NET 7 target to tests by @nikcio in #318
- Added docs on Indexing events by @nikcio in #300
- CI - Add your build.yml change to the release branch 3.0 by @nikcio in #343
- Record v3 shipped API using Microsoft.CodeAnalysis.PublicApiAnalyzers by @nzdev in #346
- Bump nokogiri from 1.13.9 to 1.15.4 in /docs by @dependabot in #348
- fix typo error in searching.md by @vivekBoii in #353
Full Changelog: v3.1.0...v3.2.0-beta.9
v3.1.0
What's Changed
Some great work from @nikcio 🎉 Examine now targets .NET 6, NetStandard 2.1 and NetStandard 2.0. This release comes with some bug fixes and features:
- Codesmells 1 by @nikcio in #297
- Updated demo project by @nikcio in #298
- chore(deps): Updated dependencies in the test project by @nikcio in #293
- fix: Fixed category not using queryparser (#302) by @nikcio in #304
- fix: Let FSDirectory choose an implementation by @nikcio in #317
- chore: Added multitargeting by @nikcio in #307
- Add
DateOnly
support toRangeQuery
(#314 & #307) by @nikcio in #315 - chore(demo): Fixed the warnings in the demo project by @nikcio in #309
- chore(editorconfig): Recommended changes by @nikcio in #308
- Bump nokogiri from 1.13.6 to 1.13.9 in /docs by @dependabot in #303
- Added docs on searching by @nikcio in #301
- Added docs on limiting results by @nikcio in #299
New Contributors
Full Changelog: v3.0.1...v3.1.0
v3.1.0-beta01
What's Changed
- Multi-targeting .NET 6, netstandard 2.1 and netstandard 2.0
- Codesmells 1 by @nikcio in #297
- Updated demo project by @nikcio in #298
- chore(deps): Updated dependencies in the test project by @nikcio in #293
- fix: Fixed category not using queryparser (#302) by @nikcio in #304
- fix: Let FSDirectory choose an implementation by @nikcio in #317
- chore: Added multitargeting by @nikcio in #307
- Add
DateOnly
support toRangeQuery
(#314 & #307) by @nikcio in #315 - chore(demo): Fixed the warnings in the demo project by @nikcio in #309
- chore(editorconfig): Recommended changes by @nikcio in #308
- Bump nokogiri from 1.13.6 to 1.13.9 in /docs by @dependabot in #303
- Added docs on searching by @nikcio in #301
- Added docs on limiting results by @nikcio in #299
New Contributors
Full Changelog: v3.0.1...v3.1.0-beta01