Tuesday, 13 November 2007
This release provides a real focus on the querying abilities of the LINQ to Lucene project and is the first real 'working release', converting LINQ statements to Lucene queries with deferred query execution and object creation or projection. It culminates the majority of the required querying features for LINQ that Lucene provides natively.
This release provides a real focus on the querying abilities of the LINQ to Lucene project and is the first real 'working release', converting LINQ statements to Lucene queries with deferred query execution and object creation or projection. It culminates the majority of the required querying features for LINQ that Lucene provides natively.
| Lucene Syntax | LINQ to Lucene |
---|---|---|
Terms & Phrases | "test" or "hello dolly" | c.Match("test") or c.Match("hello dolly") |
Fields | title:"The Right way" and text:go | c.Title == "The Right way" or c.Text == "go" |
WildCard | amb?r | c.ContactName.Match("amb?r") |
Prefix | amber* | c.ContactName.StartsWith("amber") |
Fuzzy | roam~ or roam~0.8 | c.ContactName.Like("roam") or c.ContactName.Like("roam", 0.8) |
Proximity | "jakarta apache"~10 | c.ContactName.Like("jakarta apache", 10) |
Inclusive Range | mod_date:[20020101 TO 20030101] | c.ModifiedDate.Includes("20020101", "20030101") |
Exclusive Range | title:{Aida TO Carmen} | c.Title.Between("Aida", "Carmen") |
Boosting | jakarta^4 apache | c.Title.Match("jakarta".Boost(4), apache) |
Boolean Or | "jakarta apache" OR jakarta | where c.Match("jakarta apache") || c.Match("jakarta") |
Boolean And | "jakarta apache" AND "Apache Lucene" | where c.Match("jakarta apache") && c.Match("Apache Lucene") |
Boolean Not | "jakarta apache" NOT "Apache Lucene" | where c.Match("jakarta apache") && !c.Match("Apache Lucene") |
Required | +jakarta lucene | c.Title.Match("jakarta".Require(), "lucene") |
Grouping | (jakarta OR apache) AND website | where (c.Title == "jakarta" || c.Title == "apache") && (c.Title == "website") |
Native Syntax | ie. title:{+return +"pink panther") | c.Search("title:(return +\"pink panther\"") |