Table of Contents

Constructor WordDelimiterOptions

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

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>?).

public WordDelimiterOptions(bool? GenerateWordParts = null, bool? GenerateNumberParts = null, bool? ConcatenateWords = null, bool? ConcatenateNumbers = null, bool? ConcatenateAll = null, bool? PreserveOriginal = null, bool? SplitOnCaseChange = null, bool? SplitOnNumerics = null, bool? StemEnglishPossessive = null, bool? IgnoreKeywords = null, bool? IgnoreCaseForProtectedWords = null)

Parameters

GenerateWordParts bool?

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

GenerateNumberParts bool?

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

ConcatenateWords bool?

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

ConcatenateNumbers bool?

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

ConcatenateAll bool?

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

PreserveOriginal bool?

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 bool?

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

SplitOnNumerics bool?

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

StemEnglishPossessive bool?

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

IgnoreKeywords bool?

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

IgnoreCaseForProtectedWords bool?

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.

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.