A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Mark Stott
Oct 1, 2021
  100
(0 votes)

Setting Up Search & Navigation in .NET 5.0

UPDATE: The documentation has now been updated and can be found here: https://world.optimizely.com/documentation/developer-guides/search-navigation/getting-started/creating-your-project/

Optimizely CMS for .NET 5.0 is a very exciting thing.  Recently the .NET Core Preview documentation was archived and some of that documentation was merged into the live developer guides. Optimizely have a huge amount of developer documentation and it's going to take a while for this content to be updated for .NET 5.0.  Sadly the current documentation for Optimizely Search and Navigation is still focused on the .NET 4.x world

1. Add the EPiServer.Find.CMS nuget package to your .NET 5.0 solution.

2. Generate a new Search and Navigation index at https://find.episerver.com/

3. Configure the index details in app.config...

When you create the index, you will be shown this snippet to add to your web.config:

<configuration>
    <configSections>
        <section
            name="episerver.find" type="EPiServer.Find.Configuration, EPiServer.Find" requirePermission="false"/>
    </configSections>
    <episerver.find
        serviceUrl="https://demo01.find.episerver.net/RXQGZ5QpXU9cuRSN2181hqA77ZFrUq2e/"
        defaultIndex="yourname_indexname"/>
</configuration> 

You will instead add this to appsettings.json like so:

{
    "EPiServer": {
        "Find": {
            "ServiceUrl": "https://demo01.find.episerver.net/RXQGZ5QpXU9cuRSN2181hqA77ZFrUq2e/",
            "DefaultIndex": "yourname_indexname"
        } 
    } 
}

4. Configure your startup.cs to include the find configuration:

public void ConfigureServices(IServiceCollection services)
{
    services.AddCmsAspNetIdentity<ApplicationUser>();
    services.AddMvc();
    services.AddCms();
    services.AddFind();
 }

You should now have everything you need to write your search queries as normal:

var searchResult = _findClient.Search<SitePageData>()
                              .For(request.SearchText)
                              .UsingSynonyms()
                              .ApplyBestBets()
                              .Skip(skip)
                              .Take(pageSize)
                              .GetContentResult();
Oct 01, 2021

Comments

Please login to comment.
Latest blogs
A day in the life of an Optimizely OMVP: Learning Optimizely Just Got Easier: Introducing the Optimizely Learning Centre

On the back of my last post about the Opti Graph Learning Centre, I am now happy to announce a revamped interactive learning platform that makes...

Graham Carr | Jan 31, 2026

Scheduled job for deleting content types and all related content

In my previous blog post which was about getting an overview of your sites content https://world.optimizely.com/blogs/Per-Nergard/Dates/2026/1/sche...

Per Nergård (MVP) | Jan 30, 2026

Working With Applications in Optimizely CMS 13

💡 Note:  The following content has been written based on Optimizely CMS 13 Preview 2 and may not accurately reflect the final release version. As...

Mark Stott | Jan 30, 2026

Experimentation at Speed Using Optimizely Opal and Web Experimentation

If you are working in experimentation, you will know that speed matters. The quicker you can go from idea to implementation, the faster you can...

Minesh Shah (Netcel) | Jan 30, 2026