Coveo LINQ Extensions
Coveo LINQ Extensions
You can use the Coveo LINQ extensions by adding a reference to the Coveo.SearchProvider.LinqBase assembly in your project.
|
|
Note that throughout this tutorial, the term |
Coveo LINQ Extensions
CoveoAdvancedExpression
The CoveoAdvancedExpression is used to apply a filtering expression as an advanced expression.
The advanced expression is typically used to restrict the scope of the user search query given the context.
The extension can be used in two ways: with a predicate or with free text terms.
With the predicate:
queryable.CoveoAdvancedExpression(item => item.Field == "value" || item.Field2 == "value2").ToList();
With free text terms:
queryable.CoveoAdvancedExpression("Free Text Terms").ToList();
CoveoBoost
The CoveoBoost is used to create a QRE on a query.
The results returned from the inner expression is boosted by the amount specified in the second parameter.
queryable.CoveoBoost(item => item.Field == "value" || item.Field2 == "value2", 200).Tolist();
CoveoConstantExpression
The CoveoConstantExpression is used to apply a filtering expression as a constant expression.
The constant expression must be used carefully.
Using this expression can make query execution faster, as the search index prefetches the results matching the various constant expressions.
However, relying heavily on constant expressions may put too much pressure on the search index and reduce the overall performance.
The extension can be used in two ways: with a predicate or with free text terms.
With predicates:
queryable.CoveoConstantExpression(item => item.Field == "value" || item => item.Field2 == "value2").ToList();
With free text terms:
queryable.CoveoConstantExpression("Free Text Terms").ToList();
CoveoWhere
The CoveoWhere is used to add free text terms or Coveo query syntax terms to a query.
The result is a query using the AND operator between the original query and the terms specified in the parameter.
queryable.CoveoWhere("Free Text Terms").Tolist();
CoveoOr
The CoveoOr is used to add free text terms or Coveo query syntax terms to a query.
The result is a query using the OR operator between the original query and the terms specified in the parameter.
queryable.CoveoOr("Free Text Terms").Tolist();
CoveoIn
The CoveoIn extension is used to create a nested query inside another query.
This extension is used on a specific field and must specify an inner object, a field from the inner object, and an inner expression.
queryable.Where(item => item.InField.CoveoIn((InnerType i) => i.OutField, i => i.Field == "value")).Tolist();
PhoneticMatch
The phoneticMatch can be used on a string field to create a phonetic search on this specific field.
queryable.Where(item => item.Field.PhoneticMatch("vahluh")).Tolist();
ExactMatch
The ExactMatch extension performs an exact match on a string field by comparing it to the specified value.
queryable.Where(item => item.Field.ExactMatch("exact value")).Tolist();
ContainsKeyword
The ContainsKeyword extension looks up in a string field for the specified keyword by using stemming, so similar keywords also match.
queryable.Where(item => item.Field.ContainsKeyword("keyword")).Tolist();
GetCoveoQueryResults
The GetCoveoQueryResults extension returns an object containing the query results and metadata (see Using QueryResults to Retrieve Query Metadata).
queryable.Take(10).GetCoveoQueryResults()