From 0a0a428c54eb44b6854a516fafa67501fea1df46 Mon Sep 17 00:00:00 2001 From: Zelin Hao Date: Tue, 15 Oct 2024 13:51:46 -0700 Subject: [PATCH 1/7] Add new blog for website search Signed-off-by: Zelin Hao --- _community_members/zelinhao.md | 23 +++++++ ...-of-new-opensearch-website-search.markdown | 64 ++++++++++++++++++ assets/media/community/members/zelinhao.jpg | Bin 0 -> 53047 bytes 3 files changed, 87 insertions(+) create mode 100644 _community_members/zelinhao.md create mode 100644 _posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown create mode 100644 assets/media/community/members/zelinhao.jpg diff --git a/_community_members/zelinhao.md b/_community_members/zelinhao.md new file mode 100644 index 000000000..5b8d17b98 --- /dev/null +++ b/_community_members/zelinhao.md @@ -0,0 +1,23 @@ +--- +name: Zelin Hao +short_name: zelinhao +photo: '/assets/media/community/members/zelinhao.jpg' +title: 'OpenSearch Community Member: Zelin Hao' +primary_title: Zelin Hao +breadcrumbs: + icon: community + items: + - title: Community + url: /community/index.html + - title: Members + url: /community/members/index.html + - title: 'Zelin Hao's Profile' + url: '/community/members/zelinhao.html' +github: zelinh +job_title_and_company: 'Software Engineer at Amazon Web Services' +personas: + - author +permalink: '/community/members/zelinhao.html' +redirect_from: '/authors/zelinhao/' +--- +**Zelin Hao** is a Software Engineer at Amazon Web Services working on the OpenSearch Project. diff --git a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown new file mode 100644 index 000000000..dd087b6ee --- /dev/null +++ b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown @@ -0,0 +1,64 @@ +--- +layout: post +title: Introduction of new OpenSearch website search +authors: + - zelinhao +date: 2024-10-14 +categories: + - update + - search +excerpt: +meta_keywords: +meta_description: +--- +We are excited to announce a new update to OpenSearch.org's search capabilities. This new design addresses key challenges in the current infrastructure and search functionality while laying the foundation for enhanced user experience through advanced search options. + +## Overview + +The previous documentation search system had limitations in terms of scalability, maintenance, and user experience. With the new search functionality, we are transitioning to Amazon OpenSearch Service for a more robust and scalable infrastructure, while introducing advanced search features that allow users to find exactly what they need, faster and more efficiently. + +This update will: + +* **Stabilize infrastructure**, eliminating deployment and indexing failures. +* **Remove duplication of search results** to provide cleaner, more accurate results. +* Introduce a **new search results landing page**, moving beyond the dropdown experience. +* **Filter search results exclusively on documentation/blog/event** for a more relevant experience. +* Enable users to **search across archived versions** of documentation. + +## Key Features + +### Enhanced Search Infrastructure + +To enhance both performance and relevancy, we've restructured the underlying infrastructure that powers the search functionality on OpenSearch.org. We redesigned our indexing strategy by splitting the indices by version. Now, content is indexed based on the specific documentation version it belongs to, allowing users to get version-specific search results. This approach ensures that results are clean, relevant, and free from duplication, making it easier for users to find exactly what they need. + +Previously, we utilized basic query strings, which provided a fundamental search experience. To offer more accurate and refined search results, we’ve adopted `match` and `multi_match` queries, which allow us to search across multiple fields with a high degree of precision. `indices_boost` is applied to prioritize documentation indices, further enhancing the relevancy of search hits. + +### New Search Results Landing Page + +In a move to enhance user experience, we’re transitioning from the simple dropdown interface to a fully-featured search results landing page. This new page offers a more powerful and intuitive way for users to engage with search results, enabling deeper filtering and customization options. Whether users are searching through documentation, blog posts, or event content, the landing page provides the tools to efficiently refine their results, making it easier than ever to find relevant information. + +#### Key Features: + +* **Dedicated Search Results Page:** + When users enter a query and press ‘Enter,’ they’ll be taken to this new results page. Unlike the previous dropdown, which showed limited and condensed results, the new page is designed to present search results in a more organized and comprehensive manner. Users are able to browse through extensive lists of results without leaving the page, making their search journey smoother and more effective. + +* **Search Box:** + The search box at the top of the landing page allows users to input new keywords or modify their existing query. It remains persistent across interactions, so users can continue adjusting their search criteria as needed without losing their context. + +* **Advanced Filters:** + One of the standout features of the new landing page is its filtering options. Users can now specify their search focus by selecting content types, including: + * **Documentation:** Focus exclusively on technical documents. + * **Blog:** Retrieve blog posts related to OpenSearch. + * **Event:** Search through events and announcements. + * **All:** A combined search across all content categories. + + Along with content filters, users can also select specific documentation versions (e.g., “OpenSearch 2.17 (latest)”, “OpenSearch 1.3”) to narrow down results to particular product releases. This feature is especially useful for users who are working on different versions of OpenSearch and want to access historical documentation. + +* **Search Results Display:** + The results themselves are shown in a clear and organized list, featuring: + * **Title and Brief Overview:** + Each search result includes a clickable title that links directly to the relevant page, accompanied by a short summary to give users a quick preview of the content. + * **Breadcrumb Navigation:** + To help users maintain their sense of location within the documentation structure, each result is equipped with breadcrumb navigation, outlining its position in the hierarchy (e.g., OpenSearch 2.17 › › Installing OpenSearch). + +By integrating these new features into the landing page, we’re ensuring that users can quickly access, filter, and interact with search results in ways that suit their specific needs, improving both speed and accuracy of information retrieval. diff --git a/assets/media/community/members/zelinhao.jpg b/assets/media/community/members/zelinhao.jpg new file mode 100644 index 0000000000000000000000000000000000000000..054724adf62610532717b7f509e19acdd7d2c9ad GIT binary patch literal 53047 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 X*>edQ#KK=dH86u03eMod>;eDTduRM) literal 0 HcmV?d00001 From 2af2c4e642edc5d13abd01d8c28fa103200dd39d Mon Sep 17 00:00:00 2001 From: Zelin Hao Date: Mon, 21 Oct 2024 14:34:31 -0700 Subject: [PATCH 2/7] Update headers for sentence cases Signed-off-by: Zelin Hao --- ...-of-new-opensearch-website-search.markdown | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown index dd087b6ee..f00dbfa25 100644 --- a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown +++ b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown @@ -27,38 +27,38 @@ This update will: ## Key Features -### Enhanced Search Infrastructure +### Enhanced search infrastructure -To enhance both performance and relevancy, we've restructured the underlying infrastructure that powers the search functionality on OpenSearch.org. We redesigned our indexing strategy by splitting the indices by version. Now, content is indexed based on the specific documentation version it belongs to, allowing users to get version-specific search results. This approach ensures that results are clean, relevant, and free from duplication, making it easier for users to find exactly what they need. +To enhance both performance and relevancy, we've restructured the underlying infrastructure that powers the search functionality on OpenSearch.org. We redesigned our indexing strategy by splitting the indexes by version. Now, content is indexed based on the specific documentation version it belongs to, allowing users to get version-specific search results. This approach ensures that results are clean, relevant, and free from duplication, making it easier for users to find exactly what they need. Previously, we utilized basic query strings, which provided a fundamental search experience. To offer more accurate and refined search results, we’ve adopted `match` and `multi_match` queries, which allow us to search across multiple fields with a high degree of precision. `indices_boost` is applied to prioritize documentation indices, further enhancing the relevancy of search hits. -### New Search Results Landing Page +### New search results landing page In a move to enhance user experience, we’re transitioning from the simple dropdown interface to a fully-featured search results landing page. This new page offers a more powerful and intuitive way for users to engage with search results, enabling deeper filtering and customization options. Whether users are searching through documentation, blog posts, or event content, the landing page provides the tools to efficiently refine their results, making it easier than ever to find relevant information. #### Key Features: -* **Dedicated Search Results Page:** +* **Dedicated search results page:** When users enter a query and press ‘Enter,’ they’ll be taken to this new results page. Unlike the previous dropdown, which showed limited and condensed results, the new page is designed to present search results in a more organized and comprehensive manner. Users are able to browse through extensive lists of results without leaving the page, making their search journey smoother and more effective. -* **Search Box:** +* **Search box:** The search box at the top of the landing page allows users to input new keywords or modify their existing query. It remains persistent across interactions, so users can continue adjusting their search criteria as needed without losing their context. -* **Advanced Filters:** +* **Advanced filters:** One of the standout features of the new landing page is its filtering options. Users can now specify their search focus by selecting content types, including: * **Documentation:** Focus exclusively on technical documents. * **Blog:** Retrieve blog posts related to OpenSearch. * **Event:** Search through events and announcements. * **All:** A combined search across all content categories. - Along with content filters, users can also select specific documentation versions (e.g., “OpenSearch 2.17 (latest)”, “OpenSearch 1.3”) to narrow down results to particular product releases. This feature is especially useful for users who are working on different versions of OpenSearch and want to access historical documentation. + Along with content filters, users can also select specific documentation versions (for example, “OpenSearch 2.17 (latest)”, “OpenSearch 1.3”) to narrow down results to particular product releases. This feature is especially useful for users who are working on different versions of OpenSearch and want to access historical documentation. -* **Search Results Display:** +* **Search results display:** The results themselves are shown in a clear and organized list, featuring: - * **Title and Brief Overview:** + * **Title and brief overview:** Each search result includes a clickable title that links directly to the relevant page, accompanied by a short summary to give users a quick preview of the content. - * **Breadcrumb Navigation:** - To help users maintain their sense of location within the documentation structure, each result is equipped with breadcrumb navigation, outlining its position in the hierarchy (e.g., OpenSearch 2.17 › › Installing OpenSearch). + * **Breadcrumb navigation:** + To help users maintain their sense of location within the documentation structure, each result is equipped with breadcrumb navigation, outlining its position in the hierarchy (for example, OpenSearch 2.17 › › Installing OpenSearch). By integrating these new features into the landing page, we’re ensuring that users can quickly access, filter, and interact with search results in ways that suit their specific needs, improving both speed and accuracy of information retrieval. From 694a628530011235c8cfae553373c184f4a2399c Mon Sep 17 00:00:00 2001 From: Fanit Kolchina Date: Tue, 22 Oct 2024 13:57:42 -0400 Subject: [PATCH 3/7] Doc rewrite Signed-off-by: Fanit Kolchina --- ...-of-new-opensearch-website-search.markdown | 85 ++++++++++--------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown index f00dbfa25..9ac37f2ad 100644 --- a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown +++ b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown @@ -1,64 +1,71 @@ --- layout: post -title: Introduction of new OpenSearch website search +title: Introducing enhanced search functionality on OpenSearch.org authors: - zelinhao + - kolchfa date: 2024-10-14 categories: + - community-updates - update - - search -excerpt: -meta_keywords: -meta_description: + - community +meta_keywords: OpenSearch search update, improved search results, advanced filters, documentation search, OpenSearch search page, Amazon OpenSearch Service, version-specific search, search infrastructure update +meta_description: Discover the new and improved search functionality on OpenSearch.org. Learn how our updated infrastructure, advanced filters, and dedicated search results page make it easier to find the documentation, blog posts, and event information you need. --- -We are excited to announce a new update to OpenSearch.org's search capabilities. This new design addresses key challenges in the current infrastructure and search functionality while laying the foundation for enhanced user experience through advanced search options. +We're pleased to announce an update to the search functionality on OpenSearch.org. This new design addresses key challenges in the current infrastructure and search experience while setting the stage for more advanced search features that help you find the information you need more easily. -## Overview +## The new search functionality -The previous documentation search system had limitations in terms of scalability, maintenance, and user experience. With the new search functionality, we are transitioning to Amazon OpenSearch Service for a more robust and scalable infrastructure, while introducing advanced search features that allow users to find exactly what they need, faster and more efficiently. +The previous search system had limitations related to scalability, maintenance, and user experience. With this update, we're moving to Amazon OpenSearch Service for a more reliable and scalable infrastructure, and we've added new search features to make your experience faster and more efficient. -This update will: +**Here's what's new:** -* **Stabilize infrastructure**, eliminating deployment and indexing failures. -* **Remove duplication of search results** to provide cleaner, more accurate results. -* Introduce a **new search results landing page**, moving beyond the dropdown experience. -* **Filter search results exclusively on documentation/blog/event** for a more relevant experience. -* Enable users to **search across archived versions** of documentation. +- [**Improved infrastructure**](#better-search-infrastructure) to eliminate deployment and indexing issues. +- **No more duplicate results**, giving you cleaner and more accurate search results. +- A [**new search results page**](#new-search-results-page) that goes beyond the dropdown format. +- **Filters for documentation, blogs, and events** to help you focus on relevant content. +- The ability to **search archived versions** of documentation. -## Key Features +## Better search infrastructure -### Enhanced search infrastructure +We've restructured the backend of our search system to improve both performance and relevance. Now, content is indexed by documentation version, so your search results are version-specific. This reduces clutter and duplication, making it easier for you to find the right information quickly. -To enhance both performance and relevancy, we've restructured the underlying infrastructure that powers the search functionality on OpenSearch.org. We redesigned our indexing strategy by splitting the indexes by version. Now, content is indexed based on the specific documentation version it belongs to, allowing users to get version-specific search results. This approach ensures that results are clean, relevant, and free from duplication, making it easier for users to find exactly what they need. +We've also upgraded from basic query strings to `match` and `multi_match` queries, which provide more precise results by searching across multiple fields. Additionally, we've applied `indices_boost` to prioritize documentation in search results, further improving relevance. -Previously, we utilized basic query strings, which provided a fundamental search experience. To offer more accurate and refined search results, we’ve adopted `match` and `multi_match` queries, which allow us to search across multiple fields with a high degree of precision. `indices_boost` is applied to prioritize documentation indices, further enhancing the relevancy of search hits. +## New search results page -### New search results landing page +We've moved away from the simple dropdown search interface to a full search results page, offering a more powerful and user-friendly way to navigate search results. This page gives you more control over your search and makes it easier to refine your results. -In a move to enhance user experience, we’re transitioning from the simple dropdown interface to a fully-featured search results landing page. This new page offers a more powerful and intuitive way for users to engage with search results, enabling deeper filtering and customization options. Whether users are searching through documentation, blog posts, or event content, the landing page provides the tools to efficiently refine their results, making it easier than ever to find relevant information. +## Key features -#### Key Features: +Here's a look at the key improvements and new features that enhance your search experience on OpenSearch.org: -* **Dedicated search results page:** - When users enter a query and press ‘Enter,’ they’ll be taken to this new results page. Unlike the previous dropdown, which showed limited and condensed results, the new page is designed to present search results in a more organized and comprehensive manner. Users are able to browse through extensive lists of results without leaving the page, making their search journey smoother and more effective. +- **Dedicated search results page**: + After submitting a search, you'll be taken to a new page that shows a more comprehensive list of results than the previous dropdown. You can browse through these results more easily, without leaving the page. -* **Search box:** - The search box at the top of the landing page allows users to input new keywords or modify their existing query. It remains persistent across interactions, so users can continue adjusting their search criteria as needed without losing their context. +- **Persistent search box**: + The search box stays at the top of the page, allowing you to refine your query or enter new keywords without losing your current search context. -* **Advanced filters:** - One of the standout features of the new landing page is its filtering options. Users can now specify their search focus by selecting content types, including: - * **Documentation:** Focus exclusively on technical documents. - * **Blog:** Retrieve blog posts related to OpenSearch. - * **Event:** Search through events and announcements. - * **All:** A combined search across all content categories. +- **Advanced filters**: + The new page includes filtering options to help you focus your search. You can filter by: + - **Documentation**: Narrow down your search to technical documentation. + - **Blogs**: View relevant blog posts. + - **Events**: Search through events and announcements. + - **All**: Search across all types of content. - Along with content filters, users can also select specific documentation versions (for example, “OpenSearch 2.17 (latest)”, “OpenSearch 1.3”) to narrow down results to particular product releases. This feature is especially useful for users who are working on different versions of OpenSearch and want to access historical documentation. + You can also filter by specific documentation versions, like “OpenSearch 2.17 (latest)” or “OpenSearch 1.3.” This is particularly useful if you're working with different versions of OpenSearch and need access to historical documentation. -* **Search results display:** - The results themselves are shown in a clear and organized list, featuring: - * **Title and brief overview:** - Each search result includes a clickable title that links directly to the relevant page, accompanied by a short summary to give users a quick preview of the content. - * **Breadcrumb navigation:** - To help users maintain their sense of location within the documentation structure, each result is equipped with breadcrumb navigation, outlining its position in the hierarchy (for example, OpenSearch 2.17 › › Installing OpenSearch). +- **Organized results display**: + Search results are displayed clearly, with: + - **Title and summary**: + Each result includes a clickable title and a brief summary to give you an idea of the content before you click through. + - **Breadcrumb navigation**: + Each result shows its location within the documentation structure, helping you keep track of where you are. -By integrating these new features into the landing page, we’re ensuring that users can quickly access, filter, and interact with search results in ways that suit their specific needs, improving both speed and accuracy of information retrieval. +By introducing these new features, we're making it easier for you to quickly find the information you need, whether you're looking through documentation, blog posts, or events. The updated search results page helps you filter and interact with results more efficiently, improving both the speed and accuracy of your searches. + +## We value your feedback + +Your experience matters to us! We encourage you to explore the new search functionality and share your thoughts on the [OpenSearch forum](https://forum.opensearch.org/) or directly on one of our [documentation](https://opensearch.org/docs/latest/) pages. Your input is essential in helping us improve and refine our features. + +Thank you for being a part of the OpenSearch community! \ No newline at end of file From a93a3bd6a87c877b06921270bda7d722d10ea6ed Mon Sep 17 00:00:00 2001 From: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Date: Tue, 22 Oct 2024 14:45:59 -0400 Subject: [PATCH 4/7] Apply suggestions from code review Co-authored-by: Nathan Bower Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --- ...ion-of-new-opensearch-website-search.markdown | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown index 9ac37f2ad..ca01625cd 100644 --- a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown +++ b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown @@ -23,25 +23,25 @@ The previous search system had limitations related to scalability, maintenance, - [**Improved infrastructure**](#better-search-infrastructure) to eliminate deployment and indexing issues. - **No more duplicate results**, giving you cleaner and more accurate search results. - A [**new search results page**](#new-search-results-page) that goes beyond the dropdown format. -- **Filters for documentation, blogs, and events** to help you focus on relevant content. +- **Filters for documentation, blog posts, and events** to help you focus on relevant content. - The ability to **search archived versions** of documentation. ## Better search infrastructure -We've restructured the backend of our search system to improve both performance and relevance. Now, content is indexed by documentation version, so your search results are version-specific. This reduces clutter and duplication, making it easier for you to find the right information quickly. +We've restructured the backend of our search system to improve both performance and relevance. Now content is indexed by documentation version, so your search results are version specific. This reduces clutter and duplication, making it easier for you to find the right information quickly. We've also upgraded from basic query strings to `match` and `multi_match` queries, which provide more precise results by searching across multiple fields. Additionally, we've applied `indices_boost` to prioritize documentation in search results, further improving relevance. ## New search results page -We've moved away from the simple dropdown search interface to a full search results page, offering a more powerful and user-friendly way to navigate search results. This page gives you more control over your search and makes it easier to refine your results. +We've moved away from the simple dropdown search interface in favor of a full search results page, offering a more powerful and user-friendly way to navigate search results. This page gives you more control over your search experience and makes it easier to refine your results. ## Key features Here's a look at the key improvements and new features that enhance your search experience on OpenSearch.org: - **Dedicated search results page**: - After submitting a search, you'll be taken to a new page that shows a more comprehensive list of results than the previous dropdown. You can browse through these results more easily, without leaving the page. + After submitting a search, you'll be taken to a new page that shows a more comprehensive list of results than was provided by the previous dropdown. You can browse through these results more easily, without leaving the page. - **Persistent search box**: The search box stays at the top of the page, allowing you to refine your query or enter new keywords without losing your current search context. @@ -53,14 +53,14 @@ Here's a look at the key improvements and new features that enhance your search - **Events**: Search through events and announcements. - **All**: Search across all types of content. - You can also filter by specific documentation versions, like “OpenSearch 2.17 (latest)” or “OpenSearch 1.3.” This is particularly useful if you're working with different versions of OpenSearch and need access to historical documentation. + You can also filter by specific documentation versions, like "OpenSearch 2.17 (latest)" or "OpenSearch 1.3." This is particularly useful if you're working with different versions of OpenSearch and need access to historical documentation. - **Organized results display**: Search results are displayed clearly, with: - - **Title and summary**: - Each result includes a clickable title and a brief summary to give you an idea of the content before you click through. + - **A title and summary**: + Each result includes a selectable title and a brief summary of the content. - **Breadcrumb navigation**: - Each result shows its location within the documentation structure, helping you keep track of where you are. + Each result shows its location within the documentation structure. By introducing these new features, we're making it easier for you to quickly find the information you need, whether you're looking through documentation, blog posts, or events. The updated search results page helps you filter and interact with results more efficiently, improving both the speed and accuracy of your searches. From 8ba21cb1cae2cc1dc1d17d4be2e294b8f3fb7376 Mon Sep 17 00:00:00 2001 From: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Date: Tue, 22 Oct 2024 16:34:25 -0400 Subject: [PATCH 5/7] Apply suggestions from code review Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --- ...-14-Introduction-of-new-opensearch-website-search.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown index ca01625cd..abeb86817 100644 --- a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown +++ b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown @@ -38,10 +38,10 @@ We've moved away from the simple dropdown search interface in favor of a full se ## Key features -Here's a look at the key improvements and new features that enhance your search experience on OpenSearch.org: +Here's a look at the key improvements and new features in OpenSearch.org search: - **Dedicated search results page**: - After submitting a search, you'll be taken to a new page that shows a more comprehensive list of results than was provided by the previous dropdown. You can browse through these results more easily, without leaving the page. + Search results are shown on a dedicated page with a comprehensive list of results, which makes it easy to review them. - **Persistent search box**: The search box stays at the top of the page, allowing you to refine your query or enter new keywords without losing your current search context. From fd47cfda8b43ec40818cf8670a1dfb3989da9957 Mon Sep 17 00:00:00 2001 From: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Date: Wed, 30 Oct 2024 11:53:46 -0400 Subject: [PATCH 6/7] Update _posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --- ...10-14-Introduction-of-new-opensearch-website-search.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown index abeb86817..ad28023f6 100644 --- a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown +++ b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown @@ -4,7 +4,7 @@ title: Introducing enhanced search functionality on OpenSearch.org authors: - zelinhao - kolchfa -date: 2024-10-14 +date: 2024-10-30 categories: - community-updates - update From aa87215c137b76aafe8c65e6ef51090fc46e6b88 Mon Sep 17 00:00:00 2001 From: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Date: Wed, 30 Oct 2024 11:54:33 -0400 Subject: [PATCH 7/7] Apply suggestions from code review Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --- ...-14-Introduction-of-new-opensearch-website-search.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown index ad28023f6..5fc5bb54f 100644 --- a/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown +++ b/_posts/2024-10-14-Introduction-of-new-opensearch-website-search.markdown @@ -9,8 +9,8 @@ categories: - community-updates - update - community -meta_keywords: OpenSearch search update, improved search results, advanced filters, documentation search, OpenSearch search page, Amazon OpenSearch Service, version-specific search, search infrastructure update -meta_description: Discover the new and improved search functionality on OpenSearch.org. Learn how our updated infrastructure, advanced filters, and dedicated search results page make it easier to find the documentation, blog posts, and event information you need. +meta_keywords: improve search functionality, OpenSearch search experience, OpenSearch.org, advanced filtering options, enhanced search experience +meta_description: Explore the enhanced search experience on OpenSearch.org. Discover how our upgraded infrastructure, advanced filtering options, and dedicated search page make it easier to locate the documentation and content you need. --- We're pleased to announce an update to the search functionality on OpenSearch.org. This new design addresses key challenges in the current infrastructure and search experience while setting the stage for more advanced search features that help you find the information you need more easily.