# Temporal UI Search

**URL:** <https://community.temporal.io/t/temporal-ui-search/9540>\
**Category:** Community Support\
**Tags:** elasticsearch, web-ui, search-attributes\
**Created:** [September 19, 2023, 8:25pm UTC](https://community.temporal.io/t/temporal-ui-search/9540 "2023-09-19T20:25:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rifruf](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/rifruf/32/2121_2.png) [@rifruf](https://community.temporal.io/u/rifruf)\
**Post date:** [September 19, 2023, 8:25pm UTC](https://community.temporal.io/t/temporal-ui-search/9540/1 "2023-09-19T20:25:50Z")

</div>

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](https://docs.temporal.io/visibility#partial-string-match) 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 named `Description` of `Text` type with the value “The quick brown fox jumps over the lazy dog”, a search for `Description='quick'` or `Description='fox'` successfully returns the Workflow. However, searches for partial words like `Description='qui'` or `Description='laz'` won’t return the Workflow. This limitation arises because [Elasticsearch’s tokenizer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-standard-tokenizer.html) 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!

---

<div class="post-metadata">

**Author:** ![tihomir](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/tihomir/32/6580_2.png) [@tihomir](https://community.temporal.io/u/tihomir)\
**Post date:** [September 19, 2023, 9:37pm UTC](https://community.temporal.io/t/temporal-ui-search/9540/2 "2023-09-19T21:37:06Z")

</div>

WorkflowId and RunId search attributes are type KeyWord so “=” and “LIKE” would not work work (they do work on search attributes of type Text for example). You can still search in your case with like:

`WorkflowId between "foo-bar-" and "foo-bar-~"`

which is basically a “starts with” option available for search attributes of KeyWord type.

---

<div class="post-metadata">

**Author:** ![rifruf](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/rifruf/32/2121_2.png) [@rifruf](https://community.temporal.io/u/rifruf)\
**Post date:** [September 21, 2023, 3:08pm UTC](https://community.temporal.io/t/temporal-ui-search/9540/3 "2023-09-21T15:08:31Z")

</div>

Ah, that clears things up. Thank you!
