Skip to content

Search

Configures full-text search indexing for emails, calendars, contacts, and tracing.

This object can be configured from the WebUI under Settings › Search

Type: UnsignedInt · default: 100 · min: 1

Number of items to process in each batch during indexing operations

Type: Locale · default: "en_US"

Default language to use when language detection is not possible

Type: Locale[] · default: ["en_US"]

List of languages to enable for full-text search

Type: Boolean · default: true

Enable full-text search indexing for calendar data

Type: SearchCalendarField[] · default: ["title","description","location","owner","attendee","start","uid"]

List of calendar fields to index

Type: Boolean · default: true

Enable full-text search indexing for contacts data

Type: SearchContactField[] · default: ["member","kind","name","nickname","organization","email","phone","onlineService","address","note","uid"]

List of contact fields to index

Type: Boolean · default: true

Enable full-text search indexing for email content and metadata

Type: SearchEmailField[] · default: ["from","to","cc","bcc","subject","body","attachment","receivedAt","sentAt","size","hasAttachment"]

List of email fields to index

Type: Boolean · enterprise · default: true

Enable full-text search indexing for tracing data

Type: SearchTracingField[] · enterprise · default: ["eventType","queueId","keywords"]

List of tracing fields to index

The Search singleton is available via the urn:stalwart:jmap capability.

This is a standard Foo/get method as defined in RFC 8620, Section 5.1.

For singletons, the ids argument should be the literal singleton (or null to return the single instance).

This method requires the sysSearchGet permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:Search/get",
{
"ids": [
"singleton"
]
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This is a standard Foo/set method as defined in RFC 8620, Section 5.3.

For singletons, only the update argument with id singleton is accepted; create and destroy arguments are rejected.

This method requires the sysSearchUpdate permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:Search/set",
{
"update": {
"singleton": {
"indexBatchSize": 100
}
}
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

stalwart-cli wraps the same JMAP calls. See the CLI reference for installation, authentication, and general usage.

Terminal window
stalwart-cli get Search
Terminal window
stalwart-cli update Search --field indexBatchSize=100
ValueLabel
titleEvent Title
descriptionEvent Description
locationEvent Location
ownerEvent Owner
attendeeEvent Attendee
startEvent Start Date
uidEvent UID
ValueLabel
memberGroup Member
kindContact Kind
nameContact Name
nicknameContact Nickname
organizationContact Organization
emailContact Email
phoneContact Phone
onlineServiceContact Online Service
addressContact Address
noteContact Note
uidContact UID
ValueLabel
fromFrom Address
toTo Address
ccCc Address
bccBcc Address
subjectSubject
bodyBody Content
attachmentAttachment Content
receivedAtReceived Date
sentAtSent Date
sizeMessage Size
hasAttachmentHas Attachment
headersEmail Headers
ValueLabel
eventTypeEvent Type
queueIdQueue ID
keywordsKeywords