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.DoubleRangeExamine.Search.ExamineValueExtensionsExamine.Search.FloatRangeExamine.Search.IExamineValueBoostedExamine.Search.IFacetingExamine.Search.IFacetLabelExamine.Search.IFacetOperationsExamine.Search.IFacetQueryFieldExamine.Search.IFacetResultExamine.Search.IFacetResultsExamine.Search.IFacetValueExamine.Search.Int64RangeExamine.Search.OrderingExtensions
Constant (25)
Examine.ExamineFieldNames.DefaultFacetsName= "$facets" → stringExamine.FieldDefinitionTypes.FacetDateDay= "facetdate.day" → stringExamine.FieldDefinitionTypes.FacetDateHour= "facetdate.hour" → stringExamine.FieldDefinitionTypes.FacetDateMinute= "facetdate.minute" → stringExamine.FieldDefinitionTypes.FacetDateMonth= "facetdate.month" → stringExamine.FieldDefinitionTypes.FacetDateTime= "facetdatetime" → stringExamine.FieldDefinitionTypes.FacetDateYear= "facetdate.year" → stringExamine.FieldDefinitionTypes.FacetDouble= "facetdouble" → stringExamine.FieldDefinitionTypes.FacetFloat= "facetfloat" → stringExamine.FieldDefinitionTypes.FacetFullText= "facetfulltext" → stringExamine.FieldDefinitionTypes.FacetFullTextSortable= "facetfulltextsortable" → stringExamine.FieldDefinitionTypes.FacetInteger= "facetint" → stringExamine.FieldDefinitionTypes.FacetLong= "facetlong" → stringExamine.FieldDefinitionTypes.FacetTaxonomyDateDay= "facettaxonomydate.day" → stringExamine.FieldDefinitionTypes.FacetTaxonomyDateHour= "facettaxonomydate.hour" → stringExamine.FieldDefinitionTypes.FacetTaxonomyDateMinute= "facettaxonomydate.minute" → stringExamine.FieldDefinitionTypes.FacetTaxonomyDateMonth= "facettaxonomydate.month" → stringExamine.FieldDefinitionTypes.FacetTaxonomyDateTime= "facettaxonomydatetime" → stringExamine.FieldDefinitionTypes.FacetTaxonomyDateYear= "facettaxonomydate.year" → stringExamine.FieldDefinitionTypes.FacetTaxonomyDouble= "facettaxonomydouble" → stringExamine.FieldDefinitionTypes.FacetTaxonomyFloat= "facettaxonomyfloat" → stringExamine.FieldDefinitionTypes.FacetTaxonomyFullText= "facettaxonomyfulltext" → stringExamine.FieldDefinitionTypes.FacetTaxonomyFullTextSortable= "facettaxonomyfulltextsortable" → stringExamine.FieldDefinitionTypes.FacetTaxonomyInteger= "facettaxonomyint" → stringExamine.FieldDefinitionTypes.FacetTaxonomyLong= "facettaxonomylong" → string
Enum (2)
Examine.Search.Examineness.Default = 100→ Examine.Search.ExaminenessExamine.Search.Examineness.Phrase = 7→ Examine.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.get→ stringExamine.Search.DoubleRange.Max.get→ doubleExamine.Search.DoubleRange.MaxInclusive.get→ boolExamine.Search.DoubleRange.Min.get→ doubleExamine.Search.DoubleRange.MinInclusive.get→ boolExamine.Search.FloatRange.Label.get→ stringExamine.Search.FloatRange.Max.get→ floatExamine.Search.FloatRange.MaxInclusive.get→ boolExamine.Search.FloatRange.Min.get→ floatExamine.Search.FloatRange.MinInclusive.get→ boolExamine.Search.IExamineValueBoosted.Boost.get→ floatExamine.Search.IFacetLabel.Components.get→ string[]Examine.Search.IFacetLabel.Length.get→ intExamine.Search.IFacetResults.Facets.get→ System.Collections.Generic.IReadOnlyDictionary<string, Examine.Search.IFacetResult>Examine.Search.IFacetValue.Label.get→ stringExamine.Search.IFacetValue.Value.get→ floatExamine.Search.Int64Range.Label.get→ stringExamine.Search.Int64Range.Max.get→ longExamine.Search.Int64Range.MaxInclusive.get→ boolExamine.Search.Int64Range.Min.get→ longExamine.Search.Int64Range.MinInclusive.get→ bool
Static (5)
Examine.Search.ExamineValue.Create(Examine.Search.Examineness vagueness, string value, float level)→ Examine.Search.IExamineValueExamine.Search.ExamineValue.Create(Examine.Search.Examineness vagueness, string value)→ Examine.Search.IExamineValueExamine.Search.ExamineValueExtensions.WithBoost(this Examine.Search.IExamineValue examineValue, float boost)→ Examine.Search.IExamineValueExamine.Search.OrderingExtensions.WithFacets(this Examine.Search.IOrdering ordering, System.Action<Examine.Search.IFacetOperations> facets)→ Examine.Search.IQueryExecutorExamine.SearchExtensions.Phrase(this string s)→ Examine.Search.IExamineValue
Member (9)
Examine.Search.IFaceting.WithFacets(System.Action<Examine.Search.IFacetOperations> facets)→ Examine.Search.IQueryExecutorExamine.Search.IFacetLabel.Subpath(int length)→ Examine.Search.IFacetLabelExamine.Search.IFacetOperations.FacetDoubleRange(string field, params Examine.Search.DoubleRange[] doubleRanges)→ Examine.Search.IFacetOperationsExamine.Search.IFacetOperations.FacetFloatRange(string field, params Examine.Search.FloatRange[] floatRanges)→ Examine.Search.IFacetOperationsExamine.Search.IFacetOperations.FacetLongRange(string field, params Examine.Search.Int64Range[] longRanges)→ Examine.Search.IFacetOperationsExamine.Search.IFacetOperations.FacetString(string field, System.Action<Examine.Search.IFacetQueryField> facetConfiguration = null, params string[] values)→ Examine.Search.IFacetOperationsExamine.Search.IFacetQueryField.MaxCount(int count)→ Examine.Search.IFacetQueryFieldExamine.Search.IFacetResult.Facet(string label)→ Examine.Search.IFacetValueExamine.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.get→ System.IO.DirectoryInfo Changed to:Examine.CurrentEnvironmentApplicationRoot.ApplicationRoot.get→ System.IO.DirectoryInfo!Examine.IApplicationRoot.ApplicationRoot.get→ System.IO.DirectoryInfo Changed to:Examine.IApplicationRoot.ApplicationRoot.get→ System.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.get→ bool
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.get→ System.Collections.Generic.IEnumerable<Examine.Lucene.Providers.LuceneSearcher> Changed to:Examine.Lucene.Providers.MultiIndexSearcher.Searchers.get→ System.Collections.Generic.IEnumerable<Examine.Lucene.Providers.BaseLuceneSearcher!>!Examine.Lucene.Search.SearchAfterOptions.ShardIndex.get→ int? Changed to:Examine.Lucene.Search.SearchAfterOptions.ShardIndex.get→ int
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.ITaxonomyDirectoryFactoryExamine.Lucene.FacetExtensionsExamine.Lucene.Indexing.IIndexFacetValueTypeExamine.Lucene.LuceneMultiSearcherOptionsExamine.Lucene.LuceneSearcherOptionsExamine.Lucene.Providers.IIndexCommitterExamine.Lucene.Providers.ILuceneTaxonomySearcherExamine.Lucene.Search.FacetDoubleFieldExamine.Lucene.Search.FacetFloatFieldExamine.Lucene.Search.FacetFullTextFieldExamine.Lucene.Search.FacetLongFieldExamine.Lucene.Search.FacetQueryFieldExamine.Lucene.Search.IFacetExtractionContextExamine.Lucene.Search.IFacetFieldExamine.Lucene.Search.ITaxonomySearchContextExamine.Lucene.Search.ITaxonomySearcherReferenceExamine.Lucene.Search.LuceneFacetExtractionContextExamine.Lucene.Search.LuceneFacetLabelExamine.Lucene.Search.LuceneFacetOperationExamine.Lucene.Search.LuceneFacetSamplingQueryOptionsExamine.Lucene.Search.TaxonomySearchContextExamine.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.get→ intExamine.Lucene.ExamineReplicator.IsReplicationHealthy.get→ boolExamine.Lucene.ExamineReplicator.MaxConsecutiveReplicationFailures.get→ intExamine.Lucene.Indexing.DateTimeType.IsTaxonomyFaceted.get→ boolExamine.Lucene.Indexing.DoubleType.IsTaxonomyFaceted.get→ boolExamine.Lucene.Indexing.FullTextType.IsTaxonomyFaceted.get→ boolExamine.Lucene.Indexing.IIndexFacetValueType.IsTaxonomyFaceted.get→ boolExamine.Lucene.Indexing.Int32Type.IsTaxonomyFaceted.get→ boolExamine.Lucene.Indexing.Int64Type.IsTaxonomyFaceted.get→ boolExamine.Lucene.Indexing.SingleType.IsTaxonomyFaceted.get→ boolExamine.Lucene.LuceneIndexOptions.FacetsConfig.get→ Lucene.Net.Facet.FacetsConfig!Examine.Lucene.LuceneIndexOptions.FacetsConfig.set→ voidExamine.Lucene.LuceneIndexOptions.UseTaxonomyIndex.get→ boolExamine.Lucene.LuceneIndexOptions.UseTaxonomyIndex.set→ voidExamine.Lucene.LuceneMultiSearcherOptions.IndexNames.get→ string![]!Examine.Lucene.LuceneMultiSearcherOptions.IndexNames.set→ voidExamine.Lucene.LuceneSearcherOptions.Analyzer.get→ Lucene.Net.Analysis.Analyzer?Examine.Lucene.LuceneSearcherOptions.Analyzer.set→ voidExamine.Lucene.LuceneSearcherOptions.FacetConfiguration.get→ Lucene.Net.Facet.FacetsConfig?Examine.Lucene.LuceneSearcherOptions.FacetConfiguration.set→ voidExamine.Lucene.Providers.ILuceneTaxonomySearcher.CategoryCount.get→ intExamine.Lucene.Providers.LuceneIndex.IsTaxonomyEnabled.get→ boolExamine.Lucene.Search.FacetDoubleField.DoubleRanges.get→ Examine.Search.DoubleRange[]!Examine.Lucene.Search.FacetDoubleField.FacetField.get→ string!Examine.Lucene.Search.FacetDoubleField.Field.get→ string!Examine.Lucene.Search.FacetDoubleField.IsTaxonomyIndexed.get→ boolExamine.Lucene.Search.FacetFloatField.FacetField.get→ string!Examine.Lucene.Search.FacetFloatField.Field.get→ string!Examine.Lucene.Search.FacetFloatField.FloatRanges.get→ Examine.Search.FloatRange[]!Examine.Lucene.Search.FacetFloatField.IsTaxonomyIndexed.get→ boolExamine.Lucene.Search.FacetFullTextField.FacetField.get→ string!Examine.Lucene.Search.FacetFullTextField.Field.get→ string!Examine.Lucene.Search.FacetFullTextField.IsTaxonomyIndexed.get→ boolExamine.Lucene.Search.FacetFullTextField.MaxCount.get→ intExamine.Lucene.Search.FacetFullTextField.Values.get→ string![]!Examine.Lucene.Search.FacetLongField.FacetField.get→ string!Examine.Lucene.Search.FacetLongField.Field.get→ string!Examine.Lucene.Search.FacetLongField.IsTaxonomyIndexed.get→ boolExamine.Lucene.Search.FacetLongField.LongRanges.get→ Examine.Search.Int64Range[]!Examine.Lucene.Search.IFacetExtractionContext.FacetConfig.get→ Lucene.Net.Facet.FacetsConfig!Examine.Lucene.Search.IFacetExtractionContext.FacetsCollector.get→ Lucene.Net.Facet.FacetsCollector!Examine.Lucene.Search.IFacetExtractionContext.SearcherReference.get→ Examine.Lucene.Search.ISearcherReference!Examine.Lucene.Search.IFacetField.FacetField.get→ string!Examine.Lucene.Search.IFacetField.Field.get→ string!Examine.Lucene.Search.IFacetField.IsTaxonomyIndexed.get→ boolExamine.Lucene.Search.ITaxonomySearcherReference.TaxonomyReader.get→ Lucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyReader!Examine.Lucene.Search.LuceneFacetExtractionContext.FacetConfig.get→ Lucene.Net.Facet.FacetsConfig!Examine.Lucene.Search.LuceneFacetExtractionContext.FacetsCollector.get→ Lucene.Net.Facet.FacetsCollector!Examine.Lucene.Search.LuceneFacetExtractionContext.SearcherReference.get→ Examine.Lucene.Search.ISearcherReference!Examine.Lucene.Search.LuceneFacetLabel.Components.get→ string![]!Examine.Lucene.Search.LuceneFacetLabel.Length.get→ intExamine.Lucene.Search.LuceneFacetSamplingQueryOptions.SampleSize.get→ intExamine.Lucene.Search.LuceneFacetSamplingQueryOptions.Seed.get→ longExamine.Lucene.Search.LuceneQueryOptions.FacetRandomSampling.get→ Examine.Lucene.Search.LuceneFacetSamplingQueryOptions?Examine.Lucene.Search.LuceneSearchResults.Facets.get→ System.Collections.Generic.IReadOnlyDictionary<string!, Examine.Search.IFacetResult!>!Examine.Lucene.Search.TaxonomySearchContext.SearchableFields.get→ string![]!Examine.Lucene.Search.TaxonomySearcherReference.IndexSearcher.get→ Lucene.Net.Search.IndexSearcher!Examine.Lucene.Search.TaxonomySearcherReference.TaxonomyReader.get→ Lucene.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.get→ Examine.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)→ voidExamine.Lucene.Indexing.DoubleType.AddValue(Lucene.Net.Documents.Document! doc, object? value)→ voidExamine.Lucene.Indexing.FullTextType.AddValue(Lucene.Net.Documents.Document! doc, object? value)→ voidExamine.Lucene.Indexing.Int32Type.AddValue(Lucene.Net.Documents.Document! doc, object? value)→ voidExamine.Lucene.Indexing.Int64Type.AddValue(Lucene.Net.Documents.Document! doc, object? value)→ voidExamine.Lucene.Indexing.SingleType.AddValue(Lucene.Net.Documents.Document! doc, object? value)→ voidExamine.Lucene.Providers.MultiIndexSearcher.Dispose()→ voidExamine.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.CommitError→ System.EventHandler<Examine.IndexingErrorEventArgs!>!Examine.Lucene.Providers.IIndexCommitter.CommitNow()→ voidExamine.Lucene.Providers.IIndexCommitter.Committed→ System.EventHandler?Examine.Lucene.Providers.IIndexCommitter.ScheduleCommit()→ voidExamine.Lucene.Providers.ILuceneTaxonomySearcher.GetOrdinal(string! dim, string![]! path)→ intExamine.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)→ intExamine.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:
Review all new APIs for:
- Naming consistency
- XML documentation completeness
- Design patterns alignment
- Backward compatibility
Update release notes with these API changes
Run the build to ensure no analyzer warnings (RS0016, RS0017)
After release, run
.\build\Merge-PublicApiFiles.ps1to move Unshipped → Shipped
Generated by Get-PublicApiReport.ps1