Linq To lucen.Net

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.


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\"")

你可能感兴趣的:(.net)