- 10 minutes to read

Add or manage Search Field

Create and manage Search Fields to extract business-critical values from integration messages. Search Fields enable self-service monitoring, end-to-end tracking, and business intelligence across your integration landscape.

New to Search Fields? Read What is a Search Field? to understand the concepts before diving into configuration.

A Search Field applies to Log Events in all Log Databases and can target specific Message Types for precise data extraction.

Understanding the Search Field Configuration

A Search Field is configured in layers: the Search Field itself (name and data type), one or more Search Field Expressions that say how to extract the value per Message Type, and optional Search Field Links. After you save, the Logging Service extracts values from new Log Events; a re-index applies the Search Field to Log Events that are already logged.

graph LR A["fa:fa-tag Search Field<br/>Name, Data Type"] --> B["fa:fa-code Expressions<br/>plugin, Message Types or Global"] B --> C["fa:fa-flask Test<br/>on real Log Events"] C -->|"no value"| B C --> D["fa:fa-link Search Field Links<br/>optional"] D --> E["fa:fa-floppy-disk Save"] E --> F["fa:fa-arrows-rotate Re-index<br/>logged events"] E --> G["fa:fa-magnifying-glass Searchable<br/>in Log Views"] F --> G style A fill:#2678BD,color:#fff style B fill:#2678BD,color:#fff style C fill:#FFD525,color:#000 style D fill:#3F827B,color:#fff style E fill:#E47528,color:#fff style F fill:#E47528,color:#fff style G fill:#93d16d,color:#000

Diagram: define the Search Field and its expressions (blue), test until the result is right (yellow), add optional links (teal), save and re-index (orange), and the values become searchable in Log Views (green). Each step has its own section below.

Part Where it's set Section
Name, Data Type, Description, Web Site Search Field editor Configure Basic Properties
Expressions, Message Types, Global, Optional Search Field Expressions dialog Add Search Field Expressions
Test Test Expression tab, or the Search Field Wizard Test Your Expression
Search Field Links Search Field Links dialog Add Search Field Links (Optional)
Re-index Reindex Search Field button after saving Save and Re-Index

Add a New Search Field

Navigate to the Search Fields Overview in the Administration section and click the Add Search Field button.

Add Search Field button in the Search Fields Overview
The Add Search Field button in the Search Fields Overview.

Tip

You can also create Search Fields directly from Log Views using the Search Field Wizard. This provides context-aware setup with sample data from the current view.


Configure Basic Properties

Enter a unique, business-friendly name and select the Data Type that matches your data. Optionally, add a Description and Web Site link.

Search Field editor with Name, Description, Web Site, and Data Type fields
Only the Name is required; the Data Type hint warns about changing it after the Search Field is used in Log Views.

Mandatory Fields

Field Required Purpose
Name ✅ Yes Unique display name shown in Log Views
Data Type ✅ Yes Determines available search operators and storage format

Optional Fields

Field Purpose
Description Explain what this field represents and when to use it
Web Site Link to documentation or business glossary

Data Type Options

Data Type Description Example value Example operators
Text Free text Order123, Invoice456 =, Like, Not Like, Contains, ...
Integer Whole number 1, 42, 1337 <, >, <>, =, ...
Long Integer Large whole number 1234567890 <, >, <>, =, ...
Real number with 2 decimals Floating point 123.45, 67.89 <, >, <>, =, ...
GUID Globally unique identifier 550e8400-e29b-41d4-a716-446655440000 =, <>, Contains, Empty, ...
Double Double-precision number 3.14159, 2.71828 <, >, <>, =, ...
Date time with offset datetimeoffset (Transact-SQL) YYYY-MM-DDThh:mm:ss[.nnnnnnn][{+\|-}hh:mm]
YYYY-MM-DDThh:mm:ss[.nnnnnnn]Z (UTC)
<, >, <>, = and more
Bitwise Integer Bitwise value 0x1F, 0x2A =, <>, Contains, Starts with, ...

Data Type dropdown listing the eight Search Field data types
The data type determines which operators are available for filtering.

Naming Best Practices

  • Use business terms: "Order Number", not "OrderID_Field"
  • Be consistent: use the same terminology across all Search Fields
  • Avoid abbreviations unless universally understood
  • Examples: "Customer ID", "Invoice Number", "Transport Booking Number"

Important

Choose the most specific data type for your data. Using "Text" for numbers prevents range queries (>, <). Using "Integer" for GUIDs causes extraction failures. You can change the Data Type later, but changing it after the Search Field is used in Log Views may cause errors when those Log Views load.


Add Search Field Expressions

Click the Edit button in the Search Field Expressions section to add or manage expressions.

Configured Search Field Expressions section with its Edit button
Click the Edit button to add or manage expressions for this Search Field.

Search Field Expressions dialog with an XPath expression bound to one Message Type
Each configured expression on the right shows its type, expression, and Message Type.

Click the Actions button to edit or delete a selected expression.

Actions menu for a Search Field Expression
The Actions menu edits or deletes the selected expression.

Search Field Expressions define how values are extracted from your integration messages. A single Search Field can have several expressions, typically one per Message Type or data format. Pick the plugin with the table in Choose a plugin: XPath for XML, JSON Path for JSON, RegEx for EDI and other text, Flat File CSV for delimited files, Message Context Key for context properties, and Formula to combine or transform values.

Tip

Start with the simplest expression type for your data format. Use Formula only when you need to combine multiple sources or transform data.

Expression Properties

Field Required Purpose
Expression ✅ Yes The pattern/path/formula used to extract values
Expression Type ✅ Yes The plugin matching your message format
Message Types ❌ No The Message Types this expression applies to
Global ❌ No Apply the expression to all Message Types instead
Optional ❌ No Controls warning when no value extracted
Description ❌ No Document what the expression extracts

Message Type Assignment

Message Types are set on each expression, not on the Search Field. Click a Message Type name to jump to its definition in the Repository Model.

  • Global – Apply to all Message Types

    • Use for universal fields like "Message ID" or "Timestamp"
    • Caution: Adds processing overhead to every message
    • Performance tip: Use targeted expressions instead of complex global ones
  • Specific Message Types – Apply only to selected types

    • Use for most scenarios—better performance and clearer debugging
    • Example: Separate expressions for "Invoice from SAP" vs "Invoice from Shopify"
    • Extract only values someone will search for: every expression adds processing time to each message of its Message Types, and a poorly written RegEx is especially expensive, both at runtime and during a re-index
  • Optional Flag

    • Enabled (checked): No value = normal processing, no warning
    • Disabled (unchecked): No value = warning logged
    • Use when fields may legitimately be absent (e.g., "Return Reason" on non-return orders)

A message body larger than the MessageProcessingMaxBodySize System Parameter isn't processed, so body-based expressions extract nothing from it. For EDIFACT messages, the EDIMessageTypeParseString System Parameter builds the Message Type name and so decides which expressions apply.


Test Your Expression

Use the Test Expression tab to validate with real data from your Log Databases.

Processing States

✅ OK (Green) ⚠️ Warning (Yellow) ❌ Error (Red)
Expression successfully extracted values No value found - check syntax or mark as Optional Expression failed - check syntax or data format
Test step with a successful JSON Path match (7.11) Test step warning: no value found Test step error: expression failed

Tip

Always test expressions before saving! Use real data from your Log Databases to ensure accurate extraction.

Test in the Wizard with the Right Encoding

Click Wizard while you edit a Search Field to test the expression against a sample message. On the wizard's Test step, an Encoding dropdown controls how the sample message is read. New 7.11 It opens on the message's resolved encoding: the ExtendedProperties/1.0#Encoding context property, else an encoding named in the XML declaration of the body, else the Endpoint Character encoding, else the Message Type Character encoding. Pick another encoding and click Reload message body to compare. The Logging Service uses the resolved encoding during processing, so a test that passes here also extracts correctly at runtime.

Encoding dropdown on the Test step of the Search Field Wizard (7.11)
The Encoding dropdown next to Reload message body, preset from the Message Type.

See How to use the Search Field Wizard for the full walkthrough, and Character Encoding for how the resolved encoding is chosen.


Search Field Links transform extracted values into clickable links to external business systems. Users can click Search Field values in Log Views to jump directly to CRM, ERP, or other systems.

Links menu on a Search Field value in a Log View with two external links
Example: A clickable Search Field Link in a Log View.

Click the Edit button in the Search Field Links section to configure one or more links.

Search Field Links dialog with two links, a Test Value, and per-row test buttons
Each row is one link; the button next to the URL tests it with the Test Value.

Field Required Purpose
Enabled ❌ No Turn link on/off without deleting configuration
Name ✅ Yes Display text (e.g., "View in CRM", "Open Order")
URL ✅ Yes Destination URL with {value} placeholder
Description ❌ No Tooltip explaining what the link opens

URL Template Examples

  • Simple: https://crm.company.com/orders/{value}
  • With query parameter: https://erp.company.com/search?orderId={value}&view=full
  • If Search Field contains "12345", becomes: https://crm.company.com/orders/12345

For a worked example that opens another logged message in Nodinite, see BizTalk Message Id.

Tip

You can configure multiple links for the same Search Field. Example: A "Customer ID" field might link to both your CRM (customer profile) and ERP (account balance).

Enter a sample value in Test Value and click the link button on a row to test navigation before you click Confirm or Confirm and close. Verify:

  • URL is constructed correctly
  • Target system loads the correct record
  • Authentication/permissions work for end users

Save and Re-Index

Click the Update button to save expression changes, then click Save to finalize all Search Field configuration.

Update button next to Test and Cancel in the Search Field Expressions dialog
Update button saves expression-level changes.

Save, Save and close, and Cancel buttons of the Search Field editor
Save and Close button finalizes Search Field configuration.

Important

After clicking Update for expressions, you must also click Save to persist all changes to the Search Field itself.

Re-Index Historical Data (Optional)

After saving, you can re-index to apply this Search Field to existing messages in your Log Databases.

New 7.10.11 The Reindex Search Field button stays disabled until you save your changes. A re-index always uses the saved Search Field, never unsaved edits.

Reindex Message Types dialog with five Message Types selected for the OrderId Search Field
Re-indexing selected Message Types to apply the new Search Field to historical data.

How a Re-Index Runs

New 7.10.11 A re-index is built to run safely alongside normal logging, even on large Log Databases:

  • Batched: The Log Events of each Message Type are flagged for re-index in batches. Each batch is committed on its own, so a long re-index does not lock the Log Database tables or block the Log API.
  • Resumable: If a re-index stops, run it again. It picks up where it stopped. An event is never flagged twice.
  • Parallel and isolated: Log Databases are re-indexed in parallel, one step at a time per database. A step that deadlocks is retried, and a failing Log Database does not stop the others.
  • Latest saved definition: Values are rebuilt from the latest saved Search Fields.
  • Skipped events and databases: Read-only Log Databases are skipped and reported. Events whose body and context have both been removed are not flagged.

While events wait to be processed, they have the Processing State Reindexing.

Where to Find the Result

  • Web Client: When the re-index finishes while you wait, the result lists any Log Databases that were left out.
  • Log Audits: Every re-index writes its result to the Log Audits: how many events were flagged, and which Log Databases were skipped, unreachable, or failed. A large re-index keeps running in the background; the Web Client tells you to look in the Log Audits for the result.

When to Re-Index

  • ✅ You added a new Search Field and want to search historical data
  • ✅ You modified an expression and need to recalculate existing values
  • ✅ You're preparing for compliance audits requiring retroactive search
  • ❌ You're just testing—wait until production-ready to avoid overhead

Best Practices

  • Plan ahead: Re-indexing can be time-consuming on large databases. Schedule during low-traffic periods.
  • Be selective: Only re-index the Message Types that need it. Don't select "All" unless necessary.
  • Cannot abort: Once started, re-indexing runs to completion. Test thoroughly before starting.
  • Read-only databases: Automatically skipped and reported in the result.
  • Monitor progress: Search for Log Events with the Processing State Reindexing, and read the result in the Log Audits. Check the Logging Service logs for errors.

Tip

If adding multiple Search Fields, configure all of them first, then do one re-index at the end instead of re-indexing after each field.


Next Steps

Add or manage Log View
Add or manage Message Types
Formula Expression Plugin
How to use the Search Field Wizard

What is a Search Field?
Search Fields Overview
Search Field Expressions Overview
XPath Expression Plugin
RegEx Expression Plugin
JSON Path Expression Plugin
Repository Model
Logging Service
Message Type Overview
Log Views
Character Encoding
Allowed XPath expressions
BizTalk Message Id - Search Field Link example
Log Audit Search
Find an order by Order Id - How business users search on a Search Field