What are Search Field Expressions?
Search Field Expressions are extraction methods that automatically pull searchable values from your integration messages. They're the engine behind Search Fields—enabling you to find, correlate, and track data across all your systems without any coding.
Think of them as data extractors:
- A Search Field is what you search for (e.g., "Order Number")
- A Search Field Expression is how you extract it (e.g., using XPath from XML, RegEx from EDI, JSONPath from JSON)
For example, an Order Number might appear in multiple messages across different systems with different formats (XML from SAP, EDI from suppliers, JSON from e-commerce). You can use different Search Field Expressions on each Message Type to extract the same Order Number—enabling true end-to-end tracking across your entire integration landscape.
Key Benefits:
- 12+ built-in plugins for common formats—no coding required
- Support any data format: XML, JSON, EDI, CSV, flat files, and more
- Extract from anywhere: Message body, context properties (metadata), or even external databases
- Combine expressions: Use Formula to nest multiple extraction methods
- Test in real-time: Built-in test bench validates expressions before deployment
How it works
The Process:
- Integration messages arrive at the Logging Service from any system
- Message Type is identified (e.g., "Purchase Order", "Invoice", "Shipment Notice")
- Search Field Expressions run automatically based on configuration
- Values are extracted using the appropriate plugin (XPath, RegEx, JSONPath, etc.)
- Search Field values are stored and immediately available for searching in Log Views
Example: The "Order Number" Search Field uses different expressions for XML and EDI messages.
Configuration Options:
- Multiple expressions per Search Field: Use different extraction methods for different Message Types
- Global option: Apply an expression to all message types (use with care—impacts performance)
- Optional flag: Prevent warnings when values are missing (useful for optional fields)
- Test before deploy: Use the built-in test bench to validate expressions with real data
Data sources
A Search Field Expression can retrieve values from any part of a Log Event:
- Message Body (Payload) - The actual message content in any format (XML, JSON, EDI, CSV, flat file, etc.)
- Context Properties (Metadata) - Key/value pairs such as headers, tracked properties, custom metadata
- External Sources - Database lookups, enrichment from APIs (using Formula plugin with SQL lookup)
Built-in expression plugins
Nodinite includes 12 powerful Search Field Expression plugins that handle the most common integration scenarios—no coding required. Each plugin is optimized for specific data formats and use cases.
What you can do:
- Extract values from any message format (XML, JSON, EDI, CSV, flat files)
- Extract from context properties and metadata
- Transform and manipulate extracted data (uppercase, lowercase, substring, replace)
- Perform calculations (count, sum, average, min, max)
- Look up enrichment data from SQL databases
- Combine multiple extraction methods in complex expressions
Use Cases:
- Extract customer numbers, order IDs, invoice numbers from any format
- Extract filenames without paths or file extensions
- Count order line items or calculate totals
- Validate and transform data (convert dates, normalize formats)
- Enrich messages with external reference data
Expression plugin reference
All plugins work with real-time testing—validate your expressions before deploying to production.
Example: Test bench showing the XPath expression plugin extracting values from XML.
Complete Plugin List
The table below shows which plugins work with which data formats. Click any plugin name for detailed documentation and examples.
Plugin Name | XML | EDI/Flat File | JSON | Context Properties | Description |
---|---|---|---|---|---|
XPath | ✅ | Extract from XML using XPath 1.0 (high performance) | |||
XPath with RegEx | ✅ | Combine XPath with RegEx filtering | |||
XPath on Wrapped XPath | ✅ | Extract from XML nested/encoded within XML | |||
XPath on Message Context | ✅ | Apply XPath to XML stored in context properties | |||
RegEx | ✅ | ✅ | ✅ | Pattern matching for any text format | |
RegEx with capturing groups | ✅ | ✅ | ✅ | Extract specific parts using capturing groups | |
RegEx on Message Context | ✅ | Apply RegEx to context property values | |||
RegEx on Message Context with capturing groups | ✅ | Extract parts from context properties | |||
JSON Path | ✅ | Extract from JSON using JSONPath expressions | |||
Message Context Key | ✅ | Simple key-based lookup of context properties | |||
Flat File CSV | ✅ | Parse CSV files with configurable delimiters | |||
Flat File Fixed Width | ✅ | Extract from fixed-width/positional files | |||
Formula | ✅ | ✅ | ✅ | ✅ | Advanced: Combine any extraction method with transformations, calculations, and SQL lookups |
Legend:
- ✅ = Primary use case (optimized for this format)
- Formula = Works with all formats and can combine multiple plugins
Note
For complex scenarios or if you need features not covered by the built-in plugins, the Formula plugin provides unlimited flexibility by allowing you to nest and combine any extraction method.
Quick start guide
Step 1: Choose Your Plugin
- XML messages? Use XPath
- JSON messages? Use JSON Path
- EDI or flat files? Use RegEx or Flat File CSV
- Context properties? Use Message Context Key or RegEx on Message Context
- Complex scenarios? Use Formula
Step 2: Configure
- Create or edit a Search Field
- Add a Search Field Expression
- Select the plugin and Message Type
- Enter your expression (XPath, RegEx, JSONPath, etc.)
Step 3: Test
- Use the built-in test bench to validate with real messages
- See extracted values immediately
- Adjust expression as needed
Step 4: Deploy
- Save your configuration
- Values are extracted automatically for new messages
- Optionally re-index historical messages
Best practices
Performance:
- Use specific plugins rather than generic ones when possible (e.g., XPath is faster than Formula with XPath)
- Avoid the Global option unless truly needed—it processes every message
- Test expressions with real production-sized messages
Maintainability:
- Use descriptive Search Field names that match business terminology
- Document complex Formula expressions with comments in your configuration notes
- Keep expressions as simple as possible—complex nested formulas are harder to maintain
Testing:
- Always test with real messages before deploying
- Test edge cases: empty values, missing fields, malformed data
- Use the Optional flag for fields that may not always be present
Next Step
- Add or manage Search Fields
- [Add or manage Log Views][Add or manage Log View]
Related topics
- What are Search Fields?
- What are [Search Field Expressions][]?
- What are Message Types?
- What are Log Views?