Releases: chriseldredge/Lucene.Net.Linq
Fixes IEnumerable<int>.Contains(int)
Release Notes
Fixes #80 (Unable to search within IEnumerable field).
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.5.3
PM> Install-Package Lucene.Net.Linq -Version 3.5.3
Bug Fix: binary OR with negation
Release Notes
Fixes #77 (incorrect query generated for expressions like d.Name != "x" || d.Year == 2010
.
This query will now be generated as (*:* -Name:x) Year:2010
effectively allowing either clause to match. Previously this was generated as -Name:x Year:2010
effectively ANDing the clauses.
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.5.2
PM> Install-Package Lucene.Net.Linq -Version 3.5.2
Common.Logging.Core -> Common.Logging
Release Notes
Update dependencies to use Common.Logging and remove Common.Logging.Core.
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.5.1
PM> Install-Package Lucene.Net.Linq -Version 3.5.1
Performance
Release Notes
Adds the following enhancements:
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.5.0
PM> Install-Package Lucene.Net.Linq -Version 3.5.0
Nullable Numeric Bug Fix
Release Notes
This version fixes a regression in 3.4.0 when mapping a nullable property to a NumericField. See 1db80e1 for more details.
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.4.1
PM> Install-Package Lucene.Net.Linq -Version 3.4.1
Parse queries without LINQ
Release Notes
This version provides two new methods on LuceneDataProvider
:
CreateQueryParser<T>()
creates a LuceneQueryParser
that knows how to create boolean queries with correct conversion and encoding of query valuesLuceneVersion
andGetIndexedPropertyNames<T>()
provide additional metadata about the binary format version of the index and which fields are indexed for a given document.
These new capabilities make it easier for your application to accept advanced queries as expressed as simple strings so queries can come from users or other code that isn't using LINQ to build them.
This version also fixes a bug when sorting results by a UnaryExpression
as in the case of a property backed by a nullable value type.
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.4.0
PM> Install-Package Lucene.Net.Linq -Version 3.4.0
Bug Fix: OData $skip and $select
Add support for aggressively flattening nested queries to allow query execution to work on queries generated by Web Api OData.
The following sample query would be produced by OData:
from ODataPackage <generated>_8 in {
from SampleDocument p in value(Lucene.Net.Linq.LuceneQueryable`1[SampleDocument])
orderby [p].Id asc, [p].Version asc select [p] => Skip(20)
}
select new SelectSome`1() {
ModelID = "451afd8f-5957-4c03-99a5-8a81bf81a591",
Container = new AutoSelectedNamedPropertyWithNext`1() {
Name = "Version",
Value = [<generated>_8].Version,
Next = new NamedProperty`1() {
Name = "Id",
Value = [<generated>_8].Id
}
}
} => Take(21)
These queries will now be flattened to remove the nesting.
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.3.4
PM> Install-Package Lucene.Net.Linq -Version 3.3.4
Bug fix: dispose for realsies
Thanks to @igorkomsinus for reporting #70 - IndexReader not properly disposed.
Now Disposing LuceneDataProvider should release all handles to files in your index, allowing the index to be reopened, optimized or deleted.
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.3.3
PM> Install-Package Lucene.Net.Linq -Version 3.3.3
Document Boost at Index Time
Thanks to Tamas Flamich (@tamasflamich) for providing mappings to boost documents when they are indexed.
See examples in Integration/DocumentBoostTests and fluent configuration in Fluent/DocumentBoostTests.
This release also makes sure the right version of Remotion.Linq gets installed when installing Lucene.Net.Linq and changes the dependency on Common.Logging to use the light PCL package Common.Logging.Core.
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.3.2
PM> Install-Package Lucene.Net.Linq -Version 3.3.2
Query Statistics and more
New Features
Query Statistics
It is now possible to get the full count of hits when using Skip() and Take() to paginate:
LuceneQueryStatistics stats = null;
provider
.AsQueryable<SampleDocument>()
.CaptureStatistics(s => { stats = s; })
.Where(d => d.SearchText == "foo")
.Skip(20)
.Take(20)
.ToList();
See LuceneQueryStatistics.cs for available metadata.
Binaries
NuGet package at https://www.nuget.org/packages/Lucene.Net.Linq/3.3.0
PM> Install-Package Lucene.Net.Linq -Version 3.3.0