Our.Umbraco.Indexy 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Our.Umbraco.Indexy --version 1.0.1                
NuGet\Install-Package Our.Umbraco.Indexy -Version 1.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Our.Umbraco.Indexy" Version="1.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Our.Umbraco.Indexy --version 1.0.1                
#r "nuget: Our.Umbraco.Indexy, 1.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Our.Umbraco.Indexy as a Cake Addin
#addin nuget:?package=Our.Umbraco.Indexy&version=1.0.1

// Install Our.Umbraco.Indexy as a Cake Tool
#tool nuget:?package=Our.Umbraco.Indexy&version=1.0.1                

Our.Umbraco.Indexy

Indexy allows a developer to effortlessly create custom Examine indexes within Umbraco by simply adding a few options to the website appsettings.json file.

Why call it Indexy?

Because good names are hard to come by. 🙃

Installation

Visual Studio

Simply search for the Our.Umbraco.Indexy NuGet package and add it to your project.

CLI

dotnet add package Our.Umbraco.Indexy

Configuration

Example:

{
  "Our.Umbraco.Indexy": {
    "Groups": [
      {
        "IndexName": "BlogsIndex",
        "DocumentTypes": "article",
        "Fields": {
          "SystemFields": "",
          "FullText": "authorName",
          "DateTime": "articleDate",
          "Integer": "",
          "Float": "",
          "Double": "",
          "Long": "",
          "DateYear": "",
          "DateMonth": "",
          "DateDay": "",
          "DateHour": "",
          "DateMinute": "",
          "Raw": "",
          "FullTextSortable": "",
          "InvariantCultureIgnoreCase": "",
          "EmailAddress": ""
        }
      }
    ]
  }
}
  • Groups - An array of index groups which can hold multiple index configurations.
    • IndexName - The name of your custom index (no spaces!)
    • DocumentTypes - A comma delimeted list of document type aliases to include within your index
    • Fields - A set of field types & aliases to include within your index. Each field types value is a comma delimeted list of field aliases. All of these properties are optional and therefore do not all need to be included (the example above is displaying these for demo purposes). All except 'SystemFields' is an Examine field definition of which more information can be found here: https://shazwazza.github.io/Examine/configuration:
      • SystemFields - Use this to filter out the standard system fields added by default. Leave blank to not include any at all. The Id and nodeName fields are automatically added. Default value: __Icon,__Key,__Path,__Published,__VariesByCulture,createDate,creatorID,creatorName,email,icon,level,nodeType,parentID,path,sortOrder,template,templateID,updateDate,urlName,version,writerID,writerName
      • FullText
      • DateTime
      • Integer
      • Float
      • Double
      • Long
      • DateYear
      • DateMonth
      • DateDay
      • DateHour
      • DateMinute
      • Raw
      • FullTextSortable
      • InvariantCultureIgnoreCase
      • EmailAddress

Usage

This plugin is designed to make available custom indexes for usage within your own code. However for your reference, as an example you can call this by doing the following:

_examineManager.TryGetIndex("BlogsIndex", out IIndex? index)

More information and helpful examples can be found here: https://our.umbraco.com/documentation/reference/searching/examine/quick-start/#creating-the-search-query

Contributions

You're more than welcome to fork and do a pull request.

Issues

Please report them on the issues tab of this repository.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.2.1 283 3/21/2023
1.0.2 215 3/21/2023
1.0.1 440 10/23/2022
1.0.0 414 10/22/2022