Hello, trying to setup my workflows so that they’re searchable by workflowId. For some background, my Temporal cluster runs ElasticSearch. Currently, our workflowIDs are generated as foo-bar-<random nanoid>
, and that random suffix ID is to avoid workflow ID collisions on the same foo-bar workflows. Ideally, I’d like to be able to search foo-bar in my WebUI and see the corresponding workflows, but can’t seem to do that. Reading What is the Temporal Visibility feature? | Temporal Documentation seems to indicate that if I separate out the workflow ID to instead be foo-bar <random nanoid>
, this should work since:
The
=
operator works similarly to CONTAINS, helping to find Workflows with Search Attributes containing a specific word. Partial string matching applies only to locating Text Search Attributes.
For example, if you have a custom Search Attribute namedDescription
ofText
type with the value “The quick brown fox jumps over the lazy dog”, a search forDescription='quick'
orDescription='fox'
successfully returns the Workflow. However, searches for partial words likeDescription='qui'
orDescription='laz'
won’t return the Workflow. This limitation arises because Elasticsearch’s tokenizer is configured to return complete words as tokens.
However, this still does not seem to work. Is this a known limitation, or am I misunderstanding/doing something wrong here. Thanks!