Table of Contents

Struct WordDelimiterOptions

Namespace
MongoDB.EntityFrameworkCore.Metadata.Search
Assembly
MongoDB.EntityFrameworkCore.dll

Options for the MongoDB Search "wordDelimiterGraph" token filter, as used by AddWordDelimiterGraphFilter(WordDelimiterOptions?, IEnumerable<string>?).

public readonly record struct WordDelimiterOptions : IEquatable<WordDelimiterOptions>
Implements
Inherited Members

Remarks

The wordDelimiterGraph token filter splits and/or concatenates tokens around case changes, numeric boundaries, and non‑alphanumeric delimiters (such as underscores and hyphens). These options control whether subword parts are generated, whether catenated (joined) forms are added, whether to preserve the original token, and how to treat English possessives and protected words. Use these flags to tailor tokenization of identifiers and compound words such as PowerShot-500D, camelCase, or snake_case. For details, see the Atlas Search documentation for the token filter: https://www.mongodb.com/docs/atlas/atlas-search/analyzers/token-filters/#worddelimitergraph.

Constructors

WordDelimiterOptions(bool?, bool?, bool?, bool?, bool?, bool?, bool?, bool?, bool?, bool?, bool?)

Options for the MongoDB Search "wordDelimiterGraph" token filter, as used by AddWordDelimiterGraphFilter(WordDelimiterOptions?, IEnumerable<string>?).

Properties

ConcatenateAll

If true, add a token that is the concatenation of all subwords (letters and numbers) with delimiters removed (e.g., PowerShot-500DPowerShot500D).

ConcatenateNumbers

If true, add a token that is the concatenation of adjacent numeric subwords (e.g., 500-2050020 in addition to parts).

ConcatenateWords

If true, add a token that is the concatenation of adjacent alphabetic subwords with delimiters removed (e.g., power_shotpowershot in addition to parts).

GenerateNumberParts

If true, generate tokens for numeric subword parts (e.g., 500D500, D).

GenerateWordParts

If true, generate tokens for alphabetic subword parts split at delimiters and case changes (e.g., PowerShotPower, Shot).

IgnoreCaseForProtectedWords

If true, treat entries in the protected words list as case‑insensitive when matching. Has an effect only when protected words are configured on the filter.

IgnoreKeywords

If true, do not modify tokens that have been marked as keywords by an upstream keywordMarker filter.

PreserveOriginal

If true, keep the input token as‑is in addition to any generated parts or concatenations. Useful to match both split and unsplit forms.

SplitOnCaseChange

If true, split tokens at case transitions (e.g., camelCasecamel, Case).

SplitOnNumerics

If true, split tokens between alphabetic and numeric boundaries (e.g., 500D500, D).

StemEnglishPossessive

If true, remove English possessive 's from the end of words before further processing (e.g., children'schildren).