Public API Changes: v3 to v4

Compares the public API surface of v3.10.0 against v4.0.0, across Examine.Core, Examine.Host and Examine.Lucene.

"Modified" entries are members whose signature changed, which is mostly nullable re-annotation of an otherwise identical member.

Generated 2026-08-25 from the PublicAPI.Shipped.txt files tracked by the Microsoft.CodeAnalysis.PublicApiAnalyzers Roslyn analyzer, so this is derived from the actual compiled API surface rather than written by hand. See build/Get-PublicApiReport.ps1.

Summary

  • Projects with changes: 3
  • Total new APIs (safe): 246
  • Total modified APIs: 19 ⚠️ signature changes
  • Total breaking additions: 1 ⚠️ abstract/interface members on existing types
  • Total removed APIs: 14 ⚠️ BREAKING

Project Breakdown

Examine.Core

Kind Added Modified Breaking Additions Removed
Type 13 0 0 0
Constant 25 0 0 0
Enum 2 0 0 0
Constructor 6 0 0 1
Property 21 0 0 0
Static 5 0 0 0
Member 9 0 0 0
Total 81 0 0 1

⚠️ Removed APIs (BREAKING) (1)

Constructor (1)
  • Examine.Search.ExamineValue.ExamineValue()

✅ Added APIs (Non-Breaking) (81)

Type (13)
  • Examine.Search.DoubleRange
  • Examine.Search.ExamineValueExtensions
  • Examine.Search.FloatRange
  • Examine.Search.IExamineValueBoosted
  • Examine.Search.IFaceting
  • Examine.Search.IFacetLabel
  • Examine.Search.IFacetOperations
  • Examine.Search.IFacetQueryField
  • Examine.Search.IFacetResult
  • Examine.Search.IFacetResults
  • Examine.Search.IFacetValue
  • Examine.Search.Int64Range
  • Examine.Search.OrderingExtensions
Constant (25)
  • Examine.ExamineFieldNames.DefaultFacetsName = "$facets" → string
  • Examine.FieldDefinitionTypes.FacetDateDay = "facetdate.day" → string
  • Examine.FieldDefinitionTypes.FacetDateHour = "facetdate.hour" → string
  • Examine.FieldDefinitionTypes.FacetDateMinute = "facetdate.minute" → string
  • Examine.FieldDefinitionTypes.FacetDateMonth = "facetdate.month" → string
  • Examine.FieldDefinitionTypes.FacetDateTime = "facetdatetime" → string
  • Examine.FieldDefinitionTypes.FacetDateYear = "facetdate.year" → string
  • Examine.FieldDefinitionTypes.FacetDouble = "facetdouble" → string
  • Examine.FieldDefinitionTypes.FacetFloat = "facetfloat" → string
  • Examine.FieldDefinitionTypes.FacetFullText = "facetfulltext" → string
  • Examine.FieldDefinitionTypes.FacetFullTextSortable = "facetfulltextsortable" → string
  • Examine.FieldDefinitionTypes.FacetInteger = "facetint" → string
  • Examine.FieldDefinitionTypes.FacetLong = "facetlong" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyDateDay = "facettaxonomydate.day" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyDateHour = "facettaxonomydate.hour" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyDateMinute = "facettaxonomydate.minute" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyDateMonth = "facettaxonomydate.month" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyDateTime = "facettaxonomydatetime" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyDateYear = "facettaxonomydate.year" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyDouble = "facettaxonomydouble" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyFloat = "facettaxonomyfloat" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyFullText = "facettaxonomyfulltext" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyFullTextSortable = "facettaxonomyfulltextsortable" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyInteger = "facettaxonomyint" → string
  • Examine.FieldDefinitionTypes.FacetTaxonomyLong = "facettaxonomylong" → string
Enum (2)
  • Examine.Search.Examineness.Default = 100Examine.Search.Examineness
  • Examine.Search.Examineness.Phrase = 7Examine.Search.Examineness
Constructor (6)
  • Examine.Search.DoubleRange.DoubleRange()
  • Examine.Search.DoubleRange.DoubleRange(string label, double min, bool minInclusive, double max, bool maxInclusive)
  • Examine.Search.FloatRange.FloatRange()
  • Examine.Search.FloatRange.FloatRange(string label, float min, bool minInclusive, float max, bool maxInclusive)
  • Examine.Search.Int64Range.Int64Range()
  • Examine.Search.Int64Range.Int64Range(string label, long min, bool minInclusive, long max, bool maxInclusive)
Property (21)
  • Examine.Search.DoubleRange.Label.getstring
  • Examine.Search.DoubleRange.Max.getdouble
  • Examine.Search.DoubleRange.MaxInclusive.getbool
  • Examine.Search.DoubleRange.Min.getdouble
  • Examine.Search.DoubleRange.MinInclusive.getbool
  • Examine.Search.FloatRange.Label.getstring
  • Examine.Search.FloatRange.Max.getfloat
  • Examine.Search.FloatRange.MaxInclusive.getbool
  • Examine.Search.FloatRange.Min.getfloat
  • Examine.Search.FloatRange.MinInclusive.getbool
  • Examine.Search.IExamineValueBoosted.Boost.getfloat
  • Examine.Search.IFacetLabel.Components.getstring[]
  • Examine.Search.IFacetLabel.Length.getint
  • Examine.Search.IFacetResults.Facets.getSystem.Collections.Generic.IReadOnlyDictionary<string, Examine.Search.IFacetResult>
  • Examine.Search.IFacetValue.Label.getstring
  • Examine.Search.IFacetValue.Value.getfloat
  • Examine.Search.Int64Range.Label.getstring
  • Examine.Search.Int64Range.Max.getlong
  • Examine.Search.Int64Range.MaxInclusive.getbool
  • Examine.Search.Int64Range.Min.getlong
  • Examine.Search.Int64Range.MinInclusive.getbool
Static (5)
  • Examine.Search.ExamineValue.Create(Examine.Search.Examineness vagueness, string value, float level)Examine.Search.IExamineValue
  • Examine.Search.ExamineValue.Create(Examine.Search.Examineness vagueness, string value)Examine.Search.IExamineValue
  • Examine.Search.ExamineValueExtensions.WithBoost(this Examine.Search.IExamineValue examineValue, float boost)Examine.Search.IExamineValue
  • Examine.Search.OrderingExtensions.WithFacets(this Examine.Search.IOrdering ordering, System.Action<Examine.Search.IFacetOperations> facets)Examine.Search.IQueryExecutor
  • Examine.SearchExtensions.Phrase(this string s)Examine.Search.IExamineValue
Member (9)
  • Examine.Search.IFaceting.WithFacets(System.Action<Examine.Search.IFacetOperations> facets)Examine.Search.IQueryExecutor
  • Examine.Search.IFacetLabel.Subpath(int length)Examine.Search.IFacetLabel
  • Examine.Search.IFacetOperations.FacetDoubleRange(string field, params Examine.Search.DoubleRange[] doubleRanges)Examine.Search.IFacetOperations
  • Examine.Search.IFacetOperations.FacetFloatRange(string field, params Examine.Search.FloatRange[] floatRanges)Examine.Search.IFacetOperations
  • Examine.Search.IFacetOperations.FacetLongRange(string field, params Examine.Search.Int64Range[] longRanges)Examine.Search.IFacetOperations
  • Examine.Search.IFacetOperations.FacetString(string field, System.Action<Examine.Search.IFacetQueryField> facetConfiguration = null, params string[] values)Examine.Search.IFacetOperations
  • Examine.Search.IFacetQueryField.MaxCount(int count)Examine.Search.IFacetQueryField
  • Examine.Search.IFacetResult.Facet(string label)Examine.Search.IFacetValue
  • Examine.Search.IFacetResult.TryGetFacet(string label, out Examine.Search.IFacetValue facetValue)bool

Examine.Host

Kind Added Modified Breaking Additions Removed
Constructor 0 1 0 0
Property 0 2 0 0
Static 4 6 0 0
Member 0 1 0 0
Total 4 10 0 0

⚠️ Modified APIs (BREAKING) (10)

Signature changes → callers and/or derived classes must be updated.

Constructor (1)
  • Examine.AspNetCoreApplicationIdentifier.AspNetCoreApplicationIdentifier(System.IServiceProvider services) Changed to: Examine.AspNetCoreApplicationIdentifier.AspNetCoreApplicationIdentifier(System.IServiceProvider! services)
Property (2)
  • Examine.CurrentEnvironmentApplicationRoot.ApplicationRoot.getSystem.IO.DirectoryInfo Changed to: Examine.CurrentEnvironmentApplicationRoot.ApplicationRoot.getSystem.IO.DirectoryInfo!
  • Examine.IApplicationRoot.ApplicationRoot.getSystem.IO.DirectoryInfo Changed to: Examine.IApplicationRoot.ApplicationRoot.getSystem.IO.DirectoryInfo!
Static (6)
  • Examine.ServicesCollectionExtensions.AddExamine(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.IO.DirectoryInfo appRootDirectory = null)Microsoft.Extensions.DependencyInjection.IServiceCollection Changed to: Examine.ServicesCollectionExtensions.AddExamine(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.IO.DirectoryInfo? appRootDirectory = null)Microsoft.Extensions.DependencyInjection.IServiceCollection!
  • Examine.ServicesCollectionExtensions.AddExamineLuceneIndex(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, string name, Examine.FieldDefinitionCollection fieldDefinitions = null, Lucene.Net.Analysis.Analyzer analyzer = null, Examine.IValueSetValidator validator = null, System.Collections.Generic.IReadOnlyDictionary<string, Examine.Lucene.IFieldValueTypeFactory> indexValueTypesFactory = null)Microsoft.Extensions.DependencyInjection.IServiceCollection Changed to: Examine.ServicesCollectionExtensions.AddExamineLuceneIndex(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, Examine.FieldDefinitionCollection? fieldDefinitions, Lucene.Net.Analysis.Analyzer? analyzer, Examine.IValueSetValidator? validator, System.Collections.Generic.IReadOnlyDictionary<string!, Examine.Lucene.IFieldValueTypeFactory!>? indexValueTypesFactory)Microsoft.Extensions.DependencyInjection.IServiceCollection!
  • Examine.ServicesCollectionExtensions.AddExamineLuceneIndex<TIndex, TDirectoryFactory>(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, string name, Examine.FieldDefinitionCollection fieldDefinitions = null, Lucene.Net.Analysis.Analyzer analyzer = null, Examine.IValueSetValidator validator = null, System.Collections.Generic.IReadOnlyDictionary<string, Examine.Lucene.IFieldValueTypeFactory> indexValueTypesFactory = null)Microsoft.Extensions.DependencyInjection.IServiceCollection Changed to: Examine.ServicesCollectionExtensions.AddExamineLuceneIndex<TIndex, TDirectoryFactory>(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, Examine.FieldDefinitionCollection? fieldDefinitions, Lucene.Net.Analysis.Analyzer? analyzer, Examine.IValueSetValidator? validator, System.Collections.Generic.IReadOnlyDictionary<string!, Examine.Lucene.IFieldValueTypeFactory!>? indexValueTypesFactory)Microsoft.Extensions.DependencyInjection.IServiceCollection!
  • Examine.ServicesCollectionExtensions.AddExamineLuceneIndex<TIndex>(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, string name, Examine.FieldDefinitionCollection fieldDefinitions = null, Lucene.Net.Analysis.Analyzer analyzer = null, Examine.IValueSetValidator validator = null, System.Collections.Generic.IReadOnlyDictionary<string, Examine.Lucene.IFieldValueTypeFactory> indexValueTypesFactory = null)Microsoft.Extensions.DependencyInjection.IServiceCollection Changed to: Examine.ServicesCollectionExtensions.AddExamineLuceneIndex<TIndex>(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, Examine.FieldDefinitionCollection? fieldDefinitions, Lucene.Net.Analysis.Analyzer? analyzer, Examine.IValueSetValidator? validator, System.Collections.Generic.IReadOnlyDictionary<string!, Examine.Lucene.IFieldValueTypeFactory!>? indexValueTypesFactory)Microsoft.Extensions.DependencyInjection.IServiceCollection!
  • Examine.ServicesCollectionExtensions.AddExamineLuceneMultiSearcher(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, string name, string[] indexNames, Lucene.Net.Analysis.Analyzer analyzer = null)Microsoft.Extensions.DependencyInjection.IServiceCollection Changed to: Examine.ServicesCollectionExtensions.AddExamineLuceneMultiSearcher(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, string![]! indexNames, Lucene.Net.Analysis.Analyzer? analyzer)Microsoft.Extensions.DependencyInjection.IServiceCollection!
  • Examine.ServicesCollectionExtensions.AddExamineSearcher<TSearcher>(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, string name, System.Func<System.IServiceProvider, System.Collections.Generic.IList<object>> parameterFactory)Microsoft.Extensions.DependencyInjection.IServiceCollection Changed to: Examine.ServicesCollectionExtensions.AddExamineSearcher<TSearcher>(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, System.Func<System.IServiceProvider!, System.Collections.Generic.IList<object!>!>! parameterFactory)Microsoft.Extensions.DependencyInjection.IServiceCollection!
Member (1)
  • Examine.AspNetCoreApplicationIdentifier.GetApplicationUniqueIdentifier()string Changed to: Examine.AspNetCoreApplicationIdentifier.GetApplicationUniqueIdentifier()string!

✅ Added APIs (Non-Breaking) (4)

Static (4)
  • Examine.ServicesCollectionExtensions.AddExamineLuceneIndex(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, System.Action<Examine.Lucene.LuceneDirectoryIndexOptions!>? configuration = null)Microsoft.Extensions.DependencyInjection.IServiceCollection!
  • Examine.ServicesCollectionExtensions.AddExamineLuceneIndex<TIndex, TDirectoryFactory>(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, System.Action<Examine.Lucene.LuceneDirectoryIndexOptions!>? configuration = null)Microsoft.Extensions.DependencyInjection.IServiceCollection!
  • Examine.ServicesCollectionExtensions.AddExamineLuceneIndex<TIndex>(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, System.Action<Examine.Lucene.LuceneDirectoryIndexOptions!>? configuration = null)Microsoft.Extensions.DependencyInjection.IServiceCollection!
  • Examine.ServicesCollectionExtensions.AddExamineLuceneMultiSearcher(this Microsoft.Extensions.DependencyInjection.IServiceCollection! serviceCollection, string! name, string![]! indexNames, System.Action<Examine.Lucene.LuceneMultiSearcherOptions!>? configuration = null)Microsoft.Extensions.DependencyInjection.IServiceCollection!

Examine.Lucene

Kind Added Modified Breaking Additions Removed
Type 22 0 0 1
Constructor 26 5 0 8
Property 58 2 0 1
Abstract 0 0 1 0
Virtual 13 0 0 1
Override 10 2 0 1
Static 2 0 0 0
Member 30 0 0 1
Total 161 9 1 13

⚠️ Removed APIs (BREAKING) (13)

Type (1)
  • Examine.Lucene.Providers.LuceneSearcher
Constructor (8)
  • Examine.Lucene.Directories.SyncedFileSystemDirectoryFactory.SyncedFileSystemDirectoryFactory(System.IO.DirectoryInfo localDir, System.IO.DirectoryInfo mainDir, Examine.Lucene.Directories.ILockFactory lockFactory, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, bool tryFixMainIndexIfCorrupt)
  • Examine.Lucene.Directories.SyncedFileSystemDirectoryFactory.SyncedFileSystemDirectoryFactory(System.IO.DirectoryInfo localDir, System.IO.DirectoryInfo mainDir, Examine.Lucene.Directories.ILockFactory lockFactory, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory)
  • Examine.Lucene.Directories.TempEnvFileSystemDirectoryFactory.TempEnvFileSystemDirectoryFactory(Examine.Lucene.Directories.IApplicationIdentifier applicationIdentifier, Examine.Lucene.Directories.ILockFactory lockFactory)
  • Examine.Lucene.ExamineReplicator.ExamineReplicator(Microsoft.Extensions.Logging.ILogger<Examine.Lucene.ExamineReplicator> replicatorLogger, Microsoft.Extensions.Logging.ILogger<Examine.Lucene.LoggingReplicationClient> clientLogger, Examine.Lucene.Providers.LuceneIndex sourceIndex, Lucene.Net.Store.Directory sourceDirectory, Lucene.Net.Store.Directory destinationDirectory, System.IO.DirectoryInfo tempStorage)
  • Examine.Lucene.ExamineReplicator.ExamineReplicator(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Examine.Lucene.Providers.LuceneIndex sourceIndex, Lucene.Net.Store.Directory destinationDirectory, System.IO.DirectoryInfo tempStorage)
  • Examine.Lucene.Providers.LuceneSearcher.LuceneSearcher(string name, Lucene.Net.Search.SearcherManager searcherManager, Lucene.Net.Analysis.Analyzer analyzer, Examine.Lucene.FieldValueTypeCollection fieldValueTypeCollection, bool isNrt)
  • Examine.Lucene.Providers.LuceneSearcher.LuceneSearcher(string name, Lucene.Net.Search.SearcherManager searcherManager, Lucene.Net.Analysis.Analyzer analyzer, Examine.Lucene.FieldValueTypeCollection fieldValueTypeCollection)
  • Examine.Lucene.Search.SearchContext.SearchContext(Lucene.Net.Search.SearcherManager searcherManager, Examine.Lucene.FieldValueTypeCollection fieldValueTypeCollection)
Property (1)
  • Examine.Lucene.Providers.LuceneIndex.IsCancellationRequested.getbool
Virtual (1)
  • Examine.Lucene.Providers.LuceneSearcher.Dispose(bool disposing)void
Override (1)
  • Examine.Lucene.Providers.LuceneSearcher.GetSearchContext()Examine.Lucene.Search.ISearchContext
Member (1)
  • Examine.Lucene.Providers.LuceneSearcher.Dispose()void

⚠️ Modified APIs (BREAKING) (9)

Signature changes → callers and/or derived classes must be updated.

Constructor (5)
  • Examine.Lucene.ExamineReplicator.ExamineReplicator(Microsoft.Extensions.Logging.ILogger<Examine.Lucene.ExamineReplicator> replicatorLogger, Microsoft.Extensions.Logging.ILogger<Examine.Lucene.LoggingReplicationClient> clientLogger, Examine.Lucene.Providers.LuceneIndex sourceIndex, Lucene.Net.Store.Directory destinationDirectory, System.IO.DirectoryInfo tempStorage) Changed to: Examine.Lucene.ExamineReplicator.ExamineReplicator(Microsoft.Extensions.Logging.ILogger<Examine.Lucene.ExamineReplicator!>! replicatorLogger, Microsoft.Extensions.Logging.ILogger<Examine.Lucene.LoggingReplicationClient!>! clientLogger, Examine.Lucene.Providers.LuceneIndex! sourceIndex, Lucene.Net.Store.Directory! sourceDirectory, Lucene.Net.Store.Directory! destinationDirectory, Lucene.Net.Store.Directory? destinationTaxonomyDirectory, System.IO.DirectoryInfo! tempStorage)
  • Examine.Lucene.Providers.BaseLuceneSearcher.BaseLuceneSearcher(string name, Lucene.Net.Analysis.Analyzer analyzer) Changed to: Examine.Lucene.Providers.BaseLuceneSearcher.BaseLuceneSearcher(string! name, Microsoft.Extensions.Options.IOptionsMonitor<Examine.Lucene.LuceneSearcherOptions!>! options)
  • Examine.Lucene.Providers.MultiIndexSearcher.MultiIndexSearcher(string name, System.Collections.Generic.IEnumerable<Examine.IIndex> indexes, Lucene.Net.Analysis.Analyzer analyzer = null) Changed to: Examine.Lucene.Providers.MultiIndexSearcher.MultiIndexSearcher(string! name, Microsoft.Extensions.Options.IOptionsMonitor<Examine.Lucene.LuceneMultiSearcherOptions!>! options, System.Collections.Generic.IEnumerable<Examine.IIndex!>! indexes)
  • Examine.Lucene.Providers.MultiIndexSearcher.MultiIndexSearcher(string name, System.Lazy<System.Collections.Generic.IEnumerable<Examine.ISearcher>> searchers, Lucene.Net.Analysis.Analyzer analyzer = null) Changed to: Examine.Lucene.Providers.MultiIndexSearcher.MultiIndexSearcher(string! name, Microsoft.Extensions.Options.IOptionsMonitor<Examine.Lucene.LuceneMultiSearcherOptions!>! options, System.Lazy<System.Collections.Generic.IEnumerable<Examine.ISearcher!>!>! searchers)
  • Examine.Lucene.Search.LuceneSearchResults.LuceneSearchResults(System.Collections.Generic.IReadOnlyCollection<Examine.ISearchResult> results, int totalItemCount, float maxScore, Examine.Lucene.Search.SearchAfterOptions searchAfterOptions) Changed to: Examine.Lucene.Search.LuceneSearchResults.LuceneSearchResults(System.Collections.Generic.IReadOnlyCollection<Examine.ISearchResult!>! results, int totalItemCount, System.Collections.Generic.IReadOnlyDictionary<string!, Examine.Search.IFacetResult!>! facets, float maxScore, Examine.Lucene.Search.SearchAfterOptions? searchAfterOptions)
Property (2)
  • Examine.Lucene.Providers.MultiIndexSearcher.Searchers.getSystem.Collections.Generic.IEnumerable<Examine.Lucene.Providers.LuceneSearcher> Changed to: Examine.Lucene.Providers.MultiIndexSearcher.Searchers.getSystem.Collections.Generic.IEnumerable<Examine.Lucene.Providers.BaseLuceneSearcher!>!
  • Examine.Lucene.Search.SearchAfterOptions.ShardIndex.getint? Changed to: Examine.Lucene.Search.SearchAfterOptions.ShardIndex.getint
Override (2)
  • Examine.Lucene.Directories.FileSystemDirectoryFactory.CreateDirectory(Examine.Lucene.Providers.LuceneIndex luceneIndex, bool forceUnlock)Lucene.Net.Store.Directory Changed to: Examine.Lucene.Directories.FileSystemDirectoryFactory.CreateDirectory(Examine.Lucene.Providers.LuceneIndex! luceneIndex, bool forceUnlock)Lucene.Net.Store.Directory!
  • Examine.Lucene.Directories.GenericDirectoryFactory.CreateDirectory(Examine.Lucene.Providers.LuceneIndex luceneIndex, bool forceUnlock)Lucene.Net.Store.Directory Changed to: Examine.Lucene.Directories.GenericDirectoryFactory.CreateDirectory(Examine.Lucene.Providers.LuceneIndex! luceneIndex, bool forceUnlock)Lucene.Net.Store.Directory!

⚠️ Breaking Additions (1)

New abstract or interface members on existing types → all derived classes / implementors must be updated.

Abstract (1)
  • Examine.Lucene.Providers.BaseLuceneSearcher.Dispose()void

✅ Added APIs (Non-Breaking) (161)

Type (22)
  • Examine.Lucene.Directories.ITaxonomyDirectoryFactory
  • Examine.Lucene.FacetExtensions
  • Examine.Lucene.Indexing.IIndexFacetValueType
  • Examine.Lucene.LuceneMultiSearcherOptions
  • Examine.Lucene.LuceneSearcherOptions
  • Examine.Lucene.Providers.IIndexCommitter
  • Examine.Lucene.Providers.ILuceneTaxonomySearcher
  • Examine.Lucene.Search.FacetDoubleField
  • Examine.Lucene.Search.FacetFloatField
  • Examine.Lucene.Search.FacetFullTextField
  • Examine.Lucene.Search.FacetLongField
  • Examine.Lucene.Search.FacetQueryField
  • Examine.Lucene.Search.IFacetExtractionContext
  • Examine.Lucene.Search.IFacetField
  • Examine.Lucene.Search.ITaxonomySearchContext
  • Examine.Lucene.Search.ITaxonomySearcherReference
  • Examine.Lucene.Search.LuceneFacetExtractionContext
  • Examine.Lucene.Search.LuceneFacetLabel
  • Examine.Lucene.Search.LuceneFacetOperation
  • Examine.Lucene.Search.LuceneFacetSamplingQueryOptions
  • Examine.Lucene.Search.TaxonomySearchContext
  • Examine.Lucene.Search.TaxonomySearcherReference
Constructor (26)
  • Examine.Lucene.Directories.GenericDirectoryFactory.GenericDirectoryFactory(System.Func<string!, Lucene.Net.Store.Directory!>! factory, System.Func<string!, Lucene.Net.Store.Directory?>? taxonomyDirectoryFactory)
  • Examine.Lucene.Indexing.DateTimeType.DateTimeType(string! fieldName, bool isFacetable, bool taxonomyIndex, Microsoft.Extensions.Logging.ILoggerFactory! logger, Lucene.Net.Documents.DateResolution resolution, bool store)
  • Examine.Lucene.Indexing.DoubleType.DoubleType(string! fieldName, bool isFacetable, bool taxonomyIndex, Microsoft.Extensions.Logging.ILoggerFactory! logger, bool store)
  • Examine.Lucene.Indexing.FullTextType.FullTextType(string! fieldName, bool isFacetable, bool taxonomyIndex, bool sortable, Microsoft.Extensions.Logging.ILoggerFactory! logger, Lucene.Net.Analysis.Analyzer! analyzer)
  • Examine.Lucene.Indexing.Int32Type.Int32Type(string! fieldName, bool isFacetable, bool taxonomyIndex, Microsoft.Extensions.Logging.ILoggerFactory! logger, bool store)
  • Examine.Lucene.Indexing.Int64Type.Int64Type(string! fieldName, bool isFacetable, bool taxonomyIndex, Microsoft.Extensions.Logging.ILoggerFactory! logger, bool store)
  • Examine.Lucene.Indexing.SingleType.SingleType(string! fieldName, bool isFacetable, bool taxonomyIndex, Microsoft.Extensions.Logging.ILoggerFactory! logger, bool store)
  • Examine.Lucene.LuceneMultiSearcherOptions.LuceneMultiSearcherOptions()
  • Examine.Lucene.LuceneSearcherOptions.LuceneSearcherOptions()
  • Examine.Lucene.Search.FacetDoubleField.FacetDoubleField()
  • Examine.Lucene.Search.FacetDoubleField.FacetDoubleField(string! field, Examine.Search.DoubleRange[]! doubleRanges, string! facetField, bool isTaxonomyIndexed = false)
  • Examine.Lucene.Search.FacetFloatField.FacetFloatField()
  • Examine.Lucene.Search.FacetFloatField.FacetFloatField(string! field, Examine.Search.FloatRange[]! floatRanges, string! facetField, bool isTaxonomyIndexed = false)
  • Examine.Lucene.Search.FacetFullTextField.FacetFullTextField(string! field, string![]! values, string! facetField, int maxCount = 2147483647, bool isTaxonomyIndexed = false)
  • Examine.Lucene.Search.FacetLongField.FacetLongField()
  • Examine.Lucene.Search.FacetLongField.FacetLongField(string! field, Examine.Search.Int64Range[]! longRanges, string! facetField, bool isTaxonomyIndexed = false)
  • Examine.Lucene.Search.FacetQueryField.FacetQueryField(Examine.Lucene.Search.FacetFullTextField! field)
  • Examine.Lucene.Search.LuceneFacetExtractionContext.LuceneFacetExtractionContext(Lucene.Net.Facet.FacetsCollector! facetsCollector, Examine.Lucene.Search.ISearcherReference! searcherReference, Lucene.Net.Facet.FacetsConfig! facetConfig)
  • Examine.Lucene.Search.LuceneFacetLabel.LuceneFacetLabel(Lucene.Net.Facet.Taxonomy.FacetLabel! facetLabel)
  • Examine.Lucene.Search.LuceneFacetOperation.LuceneFacetOperation(Examine.Lucene.Search.LuceneSearchQuery! search)
  • Examine.Lucene.Search.LuceneFacetSamplingQueryOptions.LuceneFacetSamplingQueryOptions(int sampleSize, long seed)
  • Examine.Lucene.Search.LuceneFacetSamplingQueryOptions.LuceneFacetSamplingQueryOptions(int sampleSize)
  • Examine.Lucene.Search.LuceneQueryOptions.LuceneQueryOptions(int skip, int take = 100, Examine.Lucene.Search.SearchAfterOptions? searchAfter = null, bool trackDocumentScores = false, bool trackDocumentMaxScore = false, int skipTakeMaxResults = 10000, bool autoCalculateSkipTakeMaxResults = false, Examine.Lucene.Search.LuceneFacetSamplingQueryOptions? facetSampling = null)
  • Examine.Lucene.Search.LuceneSearchQuery.LuceneSearchQuery(Examine.Lucene.Search.ISearchContext! searchContext, string? category, Lucene.Net.Analysis.Analyzer! analyzer, Examine.Lucene.Search.LuceneSearchOptions! searchOptions, Examine.Search.BooleanOperation occurance, Lucene.Net.Facet.FacetsConfig! facetsConfig)
  • Examine.Lucene.Search.TaxonomySearchContext.TaxonomySearchContext(Lucene.Net.Facet.Taxonomy.SearcherTaxonomyManager! searcherManager, Examine.Lucene.FieldValueTypeCollection! fieldValueTypeCollection, bool isNrt)
  • Examine.Lucene.Search.TaxonomySearcherReference.TaxonomySearcherReference(Lucene.Net.Facet.Taxonomy.SearcherTaxonomyManager! searcherManager)
Property (58)
  • Examine.Lucene.ExamineReplicator.ConsecutiveReplicationFailures.getint
  • Examine.Lucene.ExamineReplicator.IsReplicationHealthy.getbool
  • Examine.Lucene.ExamineReplicator.MaxConsecutiveReplicationFailures.getint
  • Examine.Lucene.Indexing.DateTimeType.IsTaxonomyFaceted.getbool
  • Examine.Lucene.Indexing.DoubleType.IsTaxonomyFaceted.getbool
  • Examine.Lucene.Indexing.FullTextType.IsTaxonomyFaceted.getbool
  • Examine.Lucene.Indexing.IIndexFacetValueType.IsTaxonomyFaceted.getbool
  • Examine.Lucene.Indexing.Int32Type.IsTaxonomyFaceted.getbool
  • Examine.Lucene.Indexing.Int64Type.IsTaxonomyFaceted.getbool
  • Examine.Lucene.Indexing.SingleType.IsTaxonomyFaceted.getbool
  • Examine.Lucene.LuceneIndexOptions.FacetsConfig.getLucene.Net.Facet.FacetsConfig!
  • Examine.Lucene.LuceneIndexOptions.FacetsConfig.setvoid
  • Examine.Lucene.LuceneIndexOptions.UseTaxonomyIndex.getbool
  • Examine.Lucene.LuceneIndexOptions.UseTaxonomyIndex.setvoid
  • Examine.Lucene.LuceneMultiSearcherOptions.IndexNames.getstring![]!
  • Examine.Lucene.LuceneMultiSearcherOptions.IndexNames.setvoid
  • Examine.Lucene.LuceneSearcherOptions.Analyzer.getLucene.Net.Analysis.Analyzer?
  • Examine.Lucene.LuceneSearcherOptions.Analyzer.setvoid
  • Examine.Lucene.LuceneSearcherOptions.FacetConfiguration.getLucene.Net.Facet.FacetsConfig?
  • Examine.Lucene.LuceneSearcherOptions.FacetConfiguration.setvoid
  • Examine.Lucene.Providers.ILuceneTaxonomySearcher.CategoryCount.getint
  • Examine.Lucene.Providers.LuceneIndex.IsTaxonomyEnabled.getbool
  • Examine.Lucene.Search.FacetDoubleField.DoubleRanges.getExamine.Search.DoubleRange[]!
  • Examine.Lucene.Search.FacetDoubleField.FacetField.getstring!
  • Examine.Lucene.Search.FacetDoubleField.Field.getstring!
  • Examine.Lucene.Search.FacetDoubleField.IsTaxonomyIndexed.getbool
  • Examine.Lucene.Search.FacetFloatField.FacetField.getstring!
  • Examine.Lucene.Search.FacetFloatField.Field.getstring!
  • Examine.Lucene.Search.FacetFloatField.FloatRanges.getExamine.Search.FloatRange[]!
  • Examine.Lucene.Search.FacetFloatField.IsTaxonomyIndexed.getbool
  • Examine.Lucene.Search.FacetFullTextField.FacetField.getstring!
  • Examine.Lucene.Search.FacetFullTextField.Field.getstring!
  • Examine.Lucene.Search.FacetFullTextField.IsTaxonomyIndexed.getbool
  • Examine.Lucene.Search.FacetFullTextField.MaxCount.getint
  • Examine.Lucene.Search.FacetFullTextField.Values.getstring![]!
  • Examine.Lucene.Search.FacetLongField.FacetField.getstring!
  • Examine.Lucene.Search.FacetLongField.Field.getstring!
  • Examine.Lucene.Search.FacetLongField.IsTaxonomyIndexed.getbool
  • Examine.Lucene.Search.FacetLongField.LongRanges.getExamine.Search.Int64Range[]!
  • Examine.Lucene.Search.IFacetExtractionContext.FacetConfig.getLucene.Net.Facet.FacetsConfig!
  • Examine.Lucene.Search.IFacetExtractionContext.FacetsCollector.getLucene.Net.Facet.FacetsCollector!
  • Examine.Lucene.Search.IFacetExtractionContext.SearcherReference.getExamine.Lucene.Search.ISearcherReference!
  • Examine.Lucene.Search.IFacetField.FacetField.getstring!
  • Examine.Lucene.Search.IFacetField.Field.getstring!
  • Examine.Lucene.Search.IFacetField.IsTaxonomyIndexed.getbool
  • Examine.Lucene.Search.ITaxonomySearcherReference.TaxonomyReader.getLucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyReader!
  • Examine.Lucene.Search.LuceneFacetExtractionContext.FacetConfig.getLucene.Net.Facet.FacetsConfig!
  • Examine.Lucene.Search.LuceneFacetExtractionContext.FacetsCollector.getLucene.Net.Facet.FacetsCollector!
  • Examine.Lucene.Search.LuceneFacetExtractionContext.SearcherReference.getExamine.Lucene.Search.ISearcherReference!
  • Examine.Lucene.Search.LuceneFacetLabel.Components.getstring![]!
  • Examine.Lucene.Search.LuceneFacetLabel.Length.getint
  • Examine.Lucene.Search.LuceneFacetSamplingQueryOptions.SampleSize.getint
  • Examine.Lucene.Search.LuceneFacetSamplingQueryOptions.Seed.getlong
  • Examine.Lucene.Search.LuceneQueryOptions.FacetRandomSampling.getExamine.Lucene.Search.LuceneFacetSamplingQueryOptions?
  • Examine.Lucene.Search.LuceneSearchResults.Facets.getSystem.Collections.Generic.IReadOnlyDictionary<string!, Examine.Search.IFacetResult!>!
  • Examine.Lucene.Search.TaxonomySearchContext.SearchableFields.getstring![]!
  • Examine.Lucene.Search.TaxonomySearcherReference.IndexSearcher.getLucene.Net.Search.IndexSearcher!
  • Examine.Lucene.Search.TaxonomySearcherReference.TaxonomyReader.getLucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyReader!
Virtual (13)
  • Examine.Lucene.Directories.FileSystemDirectoryFactory.CreateTaxonomyDirectory(Examine.Lucene.Providers.LuceneIndex! luceneIndex, bool forceUnlock)Lucene.Net.Store.Directory?
  • Examine.Lucene.Indexing.DateTimeType.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext, Examine.Lucene.Search.IFacetField! field)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Indexing.DoubleType.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext, Examine.Lucene.Search.IFacetField! field)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Indexing.FullTextType.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext, Examine.Lucene.Search.IFacetField! field)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Indexing.Int32Type.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext, Examine.Lucene.Search.IFacetField! field)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Indexing.Int64Type.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext, Examine.Lucene.Search.IFacetField! field)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Indexing.SingleType.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext, Examine.Lucene.Search.IFacetField! field)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Providers.LuceneIndex.TaxonomySearcher.getExamine.Lucene.Providers.ILuceneTaxonomySearcher?
  • Examine.Lucene.Search.LuceneBooleanOperationBase.WithFacets(System.Action<Examine.Search.IFacetOperations!>! facets)Examine.Search.IQueryExecutor!
  • Examine.Lucene.Search.LuceneFacetExtractionContext.GetFacetCounts(string! facetIndexFieldName, bool isTaxonomyIndexed)Lucene.Net.Facet.Facets!
  • Examine.Lucene.Search.LuceneSearchQueryBase.GetFieldInternalQuery(string! fieldName, Examine.Search.IExamineValue! fieldValue, bool useQueryParser)Lucene.Net.Search.Query?
  • Examine.Lucene.Search.LuceneSearchQueryBase.GetFieldInternalQuery(string! fieldName, Examine.Search.IExamineValue! fieldValue)Lucene.Net.Search.Query?
  • Examine.Lucene.Search.TaxonomySearcherReference.Dispose(bool disposing)void
Override (10)
  • Examine.Lucene.Directories.SyncedFileSystemDirectoryFactory.CreateTaxonomyDirectory(Examine.Lucene.Providers.LuceneIndex! luceneIndex, bool forceUnlock)Lucene.Net.Store.Directory?
  • Examine.Lucene.Indexing.DateTimeType.AddValue(Lucene.Net.Documents.Document! doc, object? value)void
  • Examine.Lucene.Indexing.DoubleType.AddValue(Lucene.Net.Documents.Document! doc, object? value)void
  • Examine.Lucene.Indexing.FullTextType.AddValue(Lucene.Net.Documents.Document! doc, object? value)void
  • Examine.Lucene.Indexing.Int32Type.AddValue(Lucene.Net.Documents.Document! doc, object? value)void
  • Examine.Lucene.Indexing.Int64Type.AddValue(Lucene.Net.Documents.Document! doc, object? value)void
  • Examine.Lucene.Indexing.SingleType.AddValue(Lucene.Net.Documents.Document! doc, object? value)void
  • Examine.Lucene.Providers.MultiIndexSearcher.Dispose()void
  • Examine.Lucene.Search.LuceneBooleanOperation.WithFacets(System.Action<Examine.Search.IFacetOperations!>! facets)Examine.Search.IQueryExecutor!
  • Examine.Lucene.Search.LuceneFacetOperation.ToString()string!
Static (2)
  • Examine.Lucene.FacetExtensions.GetFacet(this Examine.ISearchResults! searchResults, string! field)Examine.Search.IFacetResult?
  • Examine.Lucene.FacetExtensions.GetFacets(this Examine.ISearchResults! searchResults)System.Collections.Generic.IEnumerable<Examine.Search.IFacetResult!>!
Member (30)
  • Examine.Lucene.Directories.GenericDirectoryFactory.CreateTaxonomyDirectory(Examine.Lucene.Providers.LuceneIndex! luceneIndex, bool forceUnlock)Lucene.Net.Store.Directory?
  • Examine.Lucene.Directories.ITaxonomyDirectoryFactory.CreateTaxonomyDirectory(Examine.Lucene.Providers.LuceneIndex! luceneIndex, bool forceUnlock)Lucene.Net.Store.Directory?
  • Examine.Lucene.Indexing.IIndexFacetValueType.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext, Examine.Lucene.Search.IFacetField! field)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Providers.IIndexCommitter.CommitErrorSystem.EventHandler<Examine.IndexingErrorEventArgs!>!
  • Examine.Lucene.Providers.IIndexCommitter.CommitNow()void
  • Examine.Lucene.Providers.IIndexCommitter.CommittedSystem.EventHandler?
  • Examine.Lucene.Providers.IIndexCommitter.ScheduleCommit()void
  • Examine.Lucene.Providers.ILuceneTaxonomySearcher.GetOrdinal(string! dim, string![]! path)int
  • Examine.Lucene.Providers.ILuceneTaxonomySearcher.GetPath(int ordinal)Examine.Search.IFacetLabel!
  • Examine.Lucene.Providers.LuceneIndex.GetLuceneTaxonomyDirectory()Lucene.Net.Store.Directory?
  • Examine.Lucene.Search.CustomMultiFieldQueryParser.GetPhraseQueryInternal(string! field, string! queryText)Lucene.Net.Search.Query!
  • Examine.Lucene.Search.FacetDoubleField.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Search.FacetFloatField.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Search.FacetFullTextField.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Search.FacetLongField.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Search.FacetQueryField.MaxCount(int count)Examine.Search.IFacetQueryField!
  • Examine.Lucene.Search.IFacetExtractionContext.GetFacetCounts(string! facetIndexFieldName, bool isTaxonomyIndexed)Lucene.Net.Facet.Facets!
  • Examine.Lucene.Search.IFacetField.ExtractFacets(Examine.Lucene.Search.IFacetExtractionContext! facetExtractionContext)System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, Examine.Search.IFacetResult!>>!
  • Examine.Lucene.Search.ITaxonomySearchContext.GetTaxonomyAndSearcher()Examine.Lucene.Search.ITaxonomySearcherReference!
  • Examine.Lucene.Search.LuceneFacetLabel.CompareTo(Examine.Search.IFacetLabel? other)int
  • Examine.Lucene.Search.LuceneFacetLabel.Subpath(int length)Examine.Search.IFacetLabel!
  • Examine.Lucene.Search.LuceneFacetOperation.Execute(Examine.Search.QueryOptions? options = null)Examine.ISearchResults!
  • Examine.Lucene.Search.LuceneFacetOperation.FacetDoubleRange(string! field, params Examine.Search.DoubleRange[]! doubleRanges)Examine.Search.IFacetOperations!
  • Examine.Lucene.Search.LuceneFacetOperation.FacetFloatRange(string! field, params Examine.Search.FloatRange[]! floatRanges)Examine.Search.IFacetOperations!
  • Examine.Lucene.Search.LuceneFacetOperation.FacetLongRange(string! field, params Examine.Search.Int64Range[]! longRanges)Examine.Search.IFacetOperations!
  • Examine.Lucene.Search.LuceneFacetOperation.FacetString(string! field, System.Action<Examine.Search.IFacetQueryField!>? facetConfiguration = null, params string![]! values)Examine.Search.IFacetOperations!
  • Examine.Lucene.Search.TaxonomySearchContext.GetFieldValueType(string! fieldName)Examine.Lucene.Indexing.IIndexFieldValueType!
  • Examine.Lucene.Search.TaxonomySearchContext.GetSearcher()Examine.Lucene.Search.ISearcherReference!
  • Examine.Lucene.Search.TaxonomySearchContext.GetTaxonomyAndSearcher()Examine.Lucene.Search.ITaxonomySearcherReference!
  • Examine.Lucene.Search.TaxonomySearcherReference.Dispose()void

Summary

✅ Additions (Non-Breaking)

246 new API(s) have been added. These are safe changes that do not break existing code.

⚠️ Breaking Changes

19 API(s) have changed signatures.

14 API(s) have been removed.

1 abstract or interface member(s) have been added to existing types (all derived classes / implementors must be updated).

These are BREAKING CHANGES that will require:

  • Major version bump (e.g., 3.x → 4.0)
  • Migration guide for consumers
  • Release notes highlighting the breaking changes

Next Steps

Before releasing:

  1. Review all new APIs for:

    • Naming consistency
    • XML documentation completeness
    • Design patterns alignment
    • Backward compatibility
  2. Update release notes with these API changes

  3. Run the build to ensure no analyzer warnings (RS0016, RS0017)

  4. After release, run .\build\Merge-PublicApiFiles.ps1 to move Unshipped → Shipped


Generated by Get-PublicApiReport.ps1