-
Notifications
You must be signed in to change notification settings - Fork 631
Revamp docs as UBI has evolved. #8800
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 23 commits
54fb5a0
822637d
1daa9bf
010daa8
c15f826
bb83d2b
3b08a2c
6054a01
22adc65
719cd29
61f45a8
9182cc1
eaca261
9ae53e3
b3efd46
8bf34f9
badd8c4
256f6f8
648aaf1
1926cca
f6b0dd6
1d9a991
aff746a
36407e6
d4b378d
e8e7bb5
b79a6b8
6a85b22
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,7 +11,7 @@ | |
| **Introduced 2.15** | ||
| {: .label .label-purple } | ||
|
|
||
| **References UBI Specification 1.0.0** | ||
| **References UBI Specification 1.3.0** | ||
| {: .label .label-purple } | ||
|
|
||
| User Behavior Insights (UBI) is a schema for capturing user search behavior. Search behavior consists of the queries that the user submits, the results that are presented to them, and the actions they take on those results. The UBI schema links all user interactions (events) to the search result they were performed on. That is, it not only captures the chronological sequence of events but also captures the causal links between events. Analysis of this behavior is used for improving the quality of search results. | ||
|
|
@@ -20,33 +20,66 @@ | |
|
|
||
| In principle, queries sent to the server and results returned by the server can be sent to the UBI endpoint from the client. But as an optimization, they can instead be sent directly to the UBI endpoint from the server, without incurring a round-trip to the client. That is the function of the UBI plugin and is not a requirement to adopt UBI. | ||
|
|
||
| UBI includes the following elements: | ||
| * A machine-readable [schema](https://github.com/o19s/ubi) that faciliates interoperablity of the UBI specification. | ||
| * A client-side JavaScript [example reference implementation]({{site.url}}{{site.baseurl}}/search-plugins/ubi/data-structures/) that shows how to capture events and send them to the OpenSearch UBI plugin. | ||
| * An OpenSearch [plugin](https://github.com/opensearch-project/user-behavior-insights) that captures server-side behavior. | ||
|
|
||
| <!-- vale off --> | ||
|
|
||
| The UBI documentation is organized into two categories: *Explanation and reference* and *Tutorials and how-to guides*: | ||
| > “how our users are using our product, whether search results were useful for them and whether they clicked on top-n results we gave and all related stuff” - Data Scientist working Search. | ||
| *Explanation and reference* | ||
|
|
||
| | Link | Description | | ||
| | :--------- | :------- | | ||
| | [UBI Request/Response Specification](https://github.com/o19s/ubi/) | The industry-standard schema for UBI requests and responses. The current version references UBI Specification 1.0.0. | | ||
| | [UBI index schema]({{site.url}}{{site.baseurl}}/search-plugins/ubi/schemas/) | Documentation on the individual OpenSearch query and event stores. | | ||
| UBI includes the following elements: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Might be unclear when I'm new to UBI: Do I need all these elements? I could imagine a diagram being helpful at the beginning of this page to show the recommended way of using UBI and how the different elements play together. |
||
| * A machine-readable [schema](https://github.com/o19s/ubi) that facilitates interoperability of the UBI specification. | ||
| * [ubi.js](https://github.com/opensearch-project/user-behavior-insights/tree/main/ubi-javascript-collector/ubi.js): a (optional!) clientside JavaScript library for capturing searches and events. | ||
|
Check failure on line 28 in _search-plugins/ubi/index.md
|
||
epugh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| * An (optional!) OpenSearch [plugin](https://github.com/opensearch-project/user-behavior-insights) that streamlines the recording of query data. | ||
epugh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| Advanced features in OpenSearch, such as the [Search Relevance Workbench]({{site.url}}{{site.baseurl}}/search-plugins/search-relevance/using-search-relevance-workbench/) and the [Hybrid Search Optimizer]({{site.url}}{{site.baseurl}}/search-plugins/search-relevance/optimize-hybrid-search/), build on the data collected according to the UBI specification. | ||
|
|
||
| *Tutorials and how-to guides* | ||
| <!-- vale off --> | ||
|
|
||
| | Link | Description | | ||
| | :--------- | :------- | | ||
| | [UBI plugin](https://github.com/opensearch-project/user-behavior-insights) | How to install and use the UBI plugin. | | ||
| | [UBI client data structures]({{site.url}}{{site.baseurl}}/search-plugins/ubi/data-structures/) | Sample JavaScript structures for populating the event store. | | ||
| | [Example UBI query DSL queries]({{site.url}}{{site.baseurl}}/search-plugins/ubi/dsl-queries/) | How to write queries for UBI data in OpenSearch query DSL. | | ||
| | [Example UBI SQL queries]({{site.url}}{{site.baseurl}}/search-plugins/ubi/sql-queries/) | How to write analytic queries for UBI data in SQL. | | ||
| | [UBI dashboard tutorial]({{site.url}}{{site.baseurl}}/search-plugins/ubi/ubi-dashboard-tutorial/) | How to build a dashboard containing UBI data. | | ||
| | [Chorus Opensearch Edition](https://github.com/o19s/chorus-opensearch-edition/?tab=readme-ov-file#structured-learning-using-chorus-opensearch-edition) katas | A series of structured tutorials that teach you how to use UBI with OpenSearch through a demo e-commerce store. | | ||
| <table> | ||
| <tr style="vertical-align: top;"> | ||
| <td> | ||
| <h2>Tutorials</h2> | ||
| <ul> | ||
| <li><a href="{{site.url}}{{site.baseurl}}/search-plugins/ubi/ubi-dashboard-tutorial/">Learn to create custom dashboards</a> for visualizing UBI data.</li> | ||
| <li> Based on <a href="https://github.com/o19s/chorus-opensearch-edition">Chorus for OpenSearch</a> demo: | ||
| <ul> | ||
| <li><a href="https://github.com/o19s/chorus-opensearch-edition/blob/main/katas/002_derive_interaction_data.md">Derive Interaction Data from User Clicks.</a></li> | ||
| <li><a href="https://github.com/o19s/chorus-opensearch-edition/blob/main/katas/006_protecting_sensitive_information.md">Protecting sensistive information when using UBI.</a></li> | ||
| <li><a href="https://github.com/o19s/chorus-opensearch-edition/blob/main/katas/007_configure_AB_with_TDI.md">Configuring an AB test with Team Draft Interleaving</a></li> | ||
|
Check warning on line 45 in _search-plugins/ubi/index.md
|
||
| </ul> | ||
| </li> | ||
| </ul> | ||
| </td> | ||
| <td> | ||
| <h2>How To Guides</h2> | ||
| <ul> | ||
| <li>How to <a href="https://github.com/opensearch-project/user-behavior-insights?tab=readme-ov-file#user-quick-start">install and use the UBI plugin</a> in OpenSearch.</li> | ||
| <li>How to use <a href="{{site.url}}{{site.baseurl}}/search-plugins/ubi/ubi-javascript-collector/">ubi.js</a>, a client-side JavaScript library for capturing events.</li> | ||
| <li>How to <a href="{{site.url}}{{site.baseurl}}/search-plugins/ubi/dsl-queries/">write queries for UBI data using OpenSearch query DSL.</a></li> | ||
| <li>How to <a href="{{site.url}}{{site.baseurl}}/search-plugins/ubi/sql-queries/">write analytic queries for UBI data using SQL.</a></li> | ||
| </ul> | ||
| </td> | ||
| </tr> | ||
| <tr style="vertical-align: top;"> | ||
| <td> | ||
| <h2>Explanation</h2> | ||
| <ul> | ||
| <li><a href="https://docs.google.com/presentation/d/e/2PACX-1vTJ9wYhhRG2sHxB-pm2Pfcqv0AzwRzSgTn-VyKTV6bL4PyXQC9C9kE6Oyrkag2_Olb6Ugevs_kbflId/pub?start=true&loop=false&delayms=3000">Why UBI?</a> presentation.</li> | ||
| <li>Learn more about this standard via <a href="https://www.UBISearch.dev">https://www.UBISearch.dev</a>, the community clearinghouse.</li> | ||
| <li>Watch <a href="https://youtu.be/0chun264PRQ">Leveraging UBI to enhance Search Relevance</a> talk to understand how to use this data to improve search quality.</li> | ||
| <li>Go deeper with UBI. Watch <a href="https://www.youtube.com/watch?v=xi261oUamXc">You’ve Deployed User Behavior Insights. Now What?</a> to see what else you can do.</li> | ||
| </ul> | ||
| </td> | ||
| <td> | ||
| <h2>Reference</h2> | ||
| <ul> | ||
| <li><a href="https://github.com/opensearch-project/user-behavior-insights">UBI Plugin for OpenSearch</a></li> | ||
| <li><a href="{{site.url}}{{site.baseurl}}/search-plugins/ubi/schemas/">UBI Schema in OpenSearch</a></li> | ||
| <li>Repository for the <a href="https://github.com/o19s/ubi">UBI Schema</a>.</li> | ||
| <li><a href="https://o19s.github.io/ubi/docs/html/1.3.0/query.request.schema.html">Query Tracking Specification</a></li> | ||
| <li><a href="https://o19s.github.io/ubi/docs/html/1.3.0/event.schema.html">Event Tracking Specification</a></li> | ||
| </ul> | ||
| </td> | ||
| </tr> | ||
| </table> | ||
|
|
||
| <!-- vale on --> | ||
| The documentation categories were adapted using concepts based on [Diátaxis](https://diataxis.fr/). | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.