From 1453f11bc4f9b4ca5e5d4170c50f6baaadfea397 Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Fri, 6 Nov 2026 11:04:26 -0800 Subject: [PATCH 1/2] improvement(search): steer Confluence native queries to siteSearch for topic lookups --- apps/sim/lib/sim-search/live/providers.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/sim/lib/sim-search/live/providers.ts b/apps/sim/lib/sim-search/live/providers.ts index 552b7bcfb20..1dda66ffe68 100644 --- a/apps/sim/lib/sim-search/live/providers.ts +++ b/apps/sim/lib/sim-search/live/providers.ts @@ -185,12 +185,12 @@ export const LIVE_SEARCH_PROVIDERS = { confluence: { guide: { syntax: - 'CQL: text ~ "term", title ~ "term" (title ~ "win*" for a prefix), type IN (page, blogpost) and space = KEY (quote keys starting with a digit), joined with AND/OR/NOT and parentheses; add ORDER BY lastmodified DESC only when recency matters more than relevance.', + 'CQL: siteSearch ~ "a few words" is Confluence relevance search and ranks pages about the topic first, so use it for topic, acronym and how-to lookups. text ~ "term" and title ~ "term" (title ~ "win*" for a prefix) match words with no relevance order, so keep them for exact strings. Combine with type IN (page, blogpost) and space = KEY (quote keys starting with a digit) using AND/OR/NOT and parentheses; add ORDER BY lastmodified DESC only when recency matters more than relevance.', scope: 'creator = currentUser(), contributor = currentUser(), mention = currentUser() and space = KEY. CQL has no project field; the separate native project field takes an Atlassian site cloud ID.', - example: 'type IN (page, blogpost) AND space = ENG AND text ~ "roadmap"', + example: 'type IN (page, blogpost) AND siteSearch ~ "deployment freeze process"', avoid: - 'starting the query with a negative clause (NOT, !=, !~ or NOT IN), which CQL rejects; lead with a positive clause such as type IN (page, blogpost).', + 'ORing several text ~ clauses for a topic, which ranks pages sharing one common word first (put the words in one siteSearch instead), and starting the query with a negative clause (NOT, !=, !~ or NOT IN), which CQL rejects; lead with a positive clause such as type IN (page, blogpost).', }, requiresEveryTerm: true, previewText: previewConfluence, From 453dae6c07b764bac919c11b031e0a71b793bde3 Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Fri, 6 Nov 2026 11:10:32 -0800 Subject: [PATCH 2/2] improvement(search): describe text ~ as a fuzzy word match and show phrase syntax --- apps/sim/lib/sim-search/live/providers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/sim/lib/sim-search/live/providers.ts b/apps/sim/lib/sim-search/live/providers.ts index 1dda66ffe68..7251ba13c75 100644 --- a/apps/sim/lib/sim-search/live/providers.ts +++ b/apps/sim/lib/sim-search/live/providers.ts @@ -185,7 +185,7 @@ export const LIVE_SEARCH_PROVIDERS = { confluence: { guide: { syntax: - 'CQL: siteSearch ~ "a few words" is Confluence relevance search and ranks pages about the topic first, so use it for topic, acronym and how-to lookups. text ~ "term" and title ~ "term" (title ~ "win*" for a prefix) match words with no relevance order, so keep them for exact strings. Combine with type IN (page, blogpost) and space = KEY (quote keys starting with a digit) using AND/OR/NOT and parentheses; add ORDER BY lastmodified DESC only when recency matters more than relevance.', + 'CQL: siteSearch ~ "a few words" is Confluence relevance search and ranks pages about the topic first, so use it for topic, acronym and how-to lookups. text ~ "term" and title ~ "term" (title ~ "win*" for a prefix) match pages containing those words or their variants without that ranking, so keep them for a specific identifier or term; text ~ "\\"exact phrase\\"" matches a phrase. Combine with type IN (page, blogpost) and space = KEY (quote keys starting with a digit) using AND/OR/NOT and parentheses; add ORDER BY lastmodified DESC only when recency matters more than relevance.', scope: 'creator = currentUser(), contributor = currentUser(), mention = currentUser() and space = KEY. CQL has no project field; the separate native project field takes an Atlassian site cloud ID.', example: 'type IN (page, blogpost) AND siteSearch ~ "deployment freeze process"',