diff --git a/_search-plugins/ubi/query_id.md b/_search-plugins/ubi/query_id.md index 1b9f2834fa..9a8796b39e 100644 --- a/_search-plugins/ubi/query_id.md +++ b/_search-plugins/ubi/query_id.md @@ -16,6 +16,11 @@ nav_order: 7 If the user interacts with an *object* (book, product, document) that was returned from their search, that `object_id` is logged, tying the `query_id` to the `object_id` + +{% comment %} +This mermaid source is converted into an png under +.../images/ubi/query_id.png + ```mermaid %%{init: {'theme':'base', 'themeVariables': { @@ -66,6 +71,8 @@ sequenceDiagram deactivate UBI Client deactivate UBI Plugin ``` +{% endcomment %} + # The *Cute Things Animal Rescue* diff --git a/_search-plugins/ubi/schemas.md b/_search-plugins/ubi/schemas.md index a3e8540521..3b8819e03c 100644 --- a/_search-plugins/ubi/schemas.md +++ b/_search-plugins/ubi/schemas.md @@ -32,8 +32,84 @@ To summarize: the `query_id` signals the beginning of a `client_id`'s *Search Jo (8 and 9, following section) + +{% comment %} +The mermaid source is converted into an png under +.../images/ubi/ubi-schema-interactions.png + + +```mermaid +graph LR +style L fill:none,stroke-dasharray: 5 5 +subgraph L["`*Legend*`"] + style ss height:150px + subgraph ss["Standard Search"] + direction LR + + style ln1a fill:blue + ln1a[ ]--->ln1b[ ]; + end + subgraph ubi-leg["UBI data flow"] + direction LR + + ln2a[ ].->|"`**UBI interaction**`"|ln2b[ ]; + style ln1c fill:red + ln1c[ ]-->|query_id flow|ln1d[ ]; + end +end +linkStyle 0 stroke-width:2px,stroke:#0A1CCF +linkStyle 2 stroke-width:2px,stroke:red +``` +```mermaid +%%{init: { + "flowchart": {"htmlLabels": false}, + + } +}%% +graph TB + +User--1) raw search string-->Search; +Search--2) search string-->Docs +style OS stroke-width:2px, stroke:#0A1CCF, fill:#62affb, opacity:.5 +subgraph OS[OpenSearch Cluster fa:fa-database] + style E stroke-width:1px,stroke:red + E[( UBI Events )] + style Docs stroke-width:1px,stroke:#0A1CCF + style Q stroke-width:1px,stroke:red + Docs[(Document Index)] -."3) {DSL...} & [object_id's,...]".-> Q[( UBI Queries )]; + Q -.4) query_id.-> Docs ; +end + +Docs -- "5) return both query_id & [objects,...]" --->Search ; +Search-.6) query_id.->U; +Search --7) [results, ...]--> User + +style *client-side* stroke-width:1px, stroke:#D35400 +subgraph "`*client-side*`" + style User stroke-width:4px, stroke:#EC636 + User["`**User**`" fa:fa-user] + App + Search + U + style App fill:#D35400,opacity:.35, stroke:#0A1CCF, stroke-width:2px + subgraph App[       UserApp fa:fa-store] + style Search stroke-width:2px, stroke:#0A1CCF + Search( Search Client ) + style U stroke-width:1px,stroke:red + U( UBI Client ) + end +end + +User -.8) selects object_id:123.->U; +U-."9) index event:{query_id, onClick, object_id:123}".->E; + +linkStyle 1,2,0,6 stroke-width:2px,fill:none,stroke:#0A1CCF +linkStyle 3,4,5,8 stroke-width:2px,fill:none,stroke:red +``` +{% endcomment %} + ## UBI stores There are 2 separate stores for UBI: ### 1) **UBI queries** diff --git a/_search-plugins/ubi/ubi-schema-interactions.mermaid b/_search-plugins/ubi/ubi-schema-interactions.mermaid deleted file mode 100644 index dc606472be..0000000000 --- a/_search-plugins/ubi/ubi-schema-interactions.mermaid +++ /dev/null @@ -1,73 +0,0 @@ -contains the source for the mermaid diagrams in schemas.md -The mermaid source is converted into an png under -.../images/ubi/ubi-schema-interactions.png - - -```mermaid -graph LR -style L fill:none,stroke-dasharray: 5 5 -subgraph L["`*Legend*`"] - style ss height:150px - subgraph ss["Standard Search"] - direction LR - - style ln1a fill:blue - ln1a[ ]--->ln1b[ ]; - end - subgraph ubi-leg["UBI data flow"] - direction LR - - ln2a[ ].->|"`**UBI interaction**`"|ln2b[ ]; - style ln1c fill:red - ln1c[ ]-->|query_id flow|ln1d[ ]; - end -end -linkStyle 0 stroke-width:2px,stroke:#0A1CCF -linkStyle 2 stroke-width:2px,stroke:red -``` -```mermaid -%%{init: { - "flowchart": {"htmlLabels": false}, - - } -}%% -graph TB - -User--1) raw search string-->Search; -Search--2) search string-->Docs -style OS stroke-width:2px, stroke:#0A1CCF, fill:#62affb, opacity:.5 -subgraph OS[OpenSearch Cluster fa:fa-database] - style E stroke-width:1px,stroke:red - E[( UBI Events )] - style Docs stroke-width:1px,stroke:#0A1CCF - style Q stroke-width:1px,stroke:red - Docs[(Document Index)] -."3) {DSL...} & [object_id's,...]".-> Q[( UBI Queries )]; - Q -.4) query_id.-> Docs ; -end - -Docs -- "5) return both query_id & [objects,...]" --->Search ; -Search-.6) query_id.->U; -Search --7) [results, ...]--> User - -style *client-side* stroke-width:1px, stroke:#D35400 -subgraph "`*client-side*`" - style User stroke-width:4px, stroke:#EC636 - User["`**User**`" fa:fa-user] - App - Search - U - style App fill:#D35400,opacity:.35, stroke:#0A1CCF, stroke-width:2px - subgraph App[       UserApp fa:fa-store] - style Search stroke-width:2px, stroke:#0A1CCF - Search( Search Client ) - style U stroke-width:1px,stroke:red - U( UBI Client ) - end -end - -User -.8) selects object_id:123.->U; -U-."9) index event:{query_id, onClick, object_id:123}".->E; - -linkStyle 1,2,0,6 stroke-width:2px,fill:none,stroke:#0A1CCF -linkStyle 3,4,5,8 stroke-width:2px,fill:none,stroke:red -``` \ No newline at end of file