HomeDev GuideRecipesAPI ReferenceGraphQL
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback

The .NET API provides rich functionality both for free text search and querying by applying filters. These can be combined, so that certain criteria are applied to free text search by means of filters. Sometimes however the opposite is desired. That is, instead of limiting search results by applying filter, you want to include documents that do not necessarily match the search query or previously-applied filters.

Achieve this via the Include method. Just like the `Filter` method and the `Boostmatching` method, the `Include` method requires a filter expression as a parameter. Documents that match this filter are included in the result even if they otherwise would not be included. Because these documents may not match a previously-applied search query, they are given a constant score. So, they are ordered high or low in the search results depending on the score of other documents in the result. Therefore, the Include method has a second parameter that lets you enter a boost factor.

Set it to

  • **1** if you do not care about the order.

  • **10** if you want the documents high in the search results.

  • **0.1** if you want the documents low in the search results.


A typical use case for the `Include` method is building search-as-you-type functionality. Perform a regular free text search _and_ include documents whose title contains a word that starts with user input. For instance, you are building search-as-you-type functionality for blog posts, and the user enters _Bar_ into the search box.

It may be that the user is searching for _bar_, or maybe the user is about to type in _Barcelona_. To retrieve sensible suggestions, perform a regular free-text search but also include blog posts where the title (or other important but short fields) contains a word that starts with _bar_.


The above example uses the `AnyWordBeginsWith` filter method. Use this powerful method with caution. It is perfectly sensible to use it on short fields such as titles, tags and so forth. Do _not_ use it on longer text fields -- that will have a severe, negative impact on performance.