diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..91f04eb --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,33 @@ +# This workflow will build a Java project with Gradle +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle + +name: Run CI tests with Gradle + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + java: + - 11 + - 17 + # We need 2.12.0 at minimum for JDK 21.0.2 + - 21.0.1 + steps: + - uses: actions/checkout@v2 + - name: Setup Java ${{ matrix.java }} + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java }} + distribution: 'temurin' + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Build with Gradle + run: ./gradlew -Dtests.security.manager=false clean test diff --git a/.gitignore b/.gitignore index 60ba3ea..85a4b53 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,13 @@ -build/ -target/ -*.zip +# Ignore Gradle project-specific cache directory +.gradle +# Ignore Gradle build output directory +build + +# intellij files +.idea/ +*.iml +*.ipr +*.iws +build-idea/ +out/ \ No newline at end of file diff --git a/search-relevance-plugin/Dockerfile b/Dockerfile similarity index 100% rename from search-relevance-plugin/Dockerfile rename to Dockerfile diff --git a/search-relevance-plugin/LICENSE b/LICENSE similarity index 100% rename from search-relevance-plugin/LICENSE rename to LICENSE diff --git a/search-relevance-plugin/NOTICE.txt b/NOTICE.txt similarity index 100% rename from search-relevance-plugin/NOTICE.txt rename to NOTICE.txt diff --git a/README.md b/README.md index 09e4b57..3541af6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,31 @@ -# OpenSearch Relevance +# search-relevance-plugin -Playground and sandbox for the OpenSearch relevance work. +Build the plugin. Note that you will have to match up the JDK 11 on your system to java home in the `gradle.properties` file: + +`./gradlew build` + +Build the OpenSearch docker image and add the plugin: + +`docker compose build` + +Start the containers: + +`docker compose up` + +Initialize the `awesome` search relevance index: + +``` +curl -X PUT http://localhost:9200/_plugins/search_relevance/awesome +``` + +Send an event to the `awesome` store: + +``` +curl -X POST http://localhost:9200/_plugins/search_relevance/awesome -H "Content-Type: application/json" -d @instant-search.json +``` + +Get events: + +``` +curl http://localhost:9200/.awesome_events/_search +``` diff --git a/search-relevance-plugin/build.gradle b/build.gradle similarity index 100% rename from search-relevance-plugin/build.gradle rename to build.gradle diff --git a/dashboard-plugin/Dockerfile b/dashboard-plugin/Dockerfile deleted file mode 100644 index 37de088..0000000 --- a/dashboard-plugin/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM opensearchproject/opensearch-dashboards:2.11.1 - -# Disable security. -RUN /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin remove securityDashboards -COPY --chown=opensearch-dashboards:opensearch-dashboards opensearch_dashboards.yml /usr/share/opensearch-dashboards/config/ - -# TODO: Add the plugin. diff --git a/dashboard-plugin/README.md b/dashboard-plugin/README.md deleted file mode 100755 index 7b4573d..0000000 --- a/dashboard-plugin/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# ublDashboard - -A OpenSearch Dashboards plugin - ---- - -## Development - -See the [OpenSearch Dashboards contributing -guide](https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/CONTRIBUTING.md) for instructions -setting up your development environment. - - ## Scripts -
-
yarn osd bootstrap
-
Execute this to install node_modules and setup the dependencies in your plugin and in OpenSearch Dashboards -
- -
yarn plugin-helpers build
-
Execute this to create a distributable version of this plugin that can be installed in OpenSearch Dashboards -
-
- - - ---- - -https://opensearch.org/blog/dashboards-plugins-intro/ - -https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/CONTRIBUTING.md#development-environment-setup - -https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/DEVELOPER_GUIDE.md - -git clone https://github.com/opensearch-project/OpenSearch-Dashboards.git - -cd OpenSearch-Dashboards - -node scripts/generate_plugin.js my_plugin_name - - -``` -nvm use 18.19.0 - -yarn start -``` \ No newline at end of file diff --git a/dashboard-plugin/build/ublDashboard-2.11.1.zip b/dashboard-plugin/build/ublDashboard-2.11.1.zip deleted file mode 100644 index e45c2f2..0000000 Binary files a/dashboard-plugin/build/ublDashboard-2.11.1.zip and /dev/null differ diff --git a/dashboard-plugin/common/index.ts b/dashboard-plugin/common/index.ts deleted file mode 100644 index b551179..0000000 --- a/dashboard-plugin/common/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const PLUGIN_ID = 'ublDashboard'; -export const PLUGIN_NAME = 'ublDashboard'; diff --git a/dashboard-plugin/opensearch_dashboards.json b/dashboard-plugin/opensearch_dashboards.json deleted file mode 100644 index 06d21b1..0000000 --- a/dashboard-plugin/opensearch_dashboards.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "ublDashboard", - "version": "1.0.0", - "opensearchDashboardsVersion": "opensearchDashboards", - "server": true, - "ui": true, - "requiredPlugins": ["navigation"], - "optionalPlugins": [] -} diff --git a/dashboard-plugin/opensearch_dashboards.yml b/dashboard-plugin/opensearch_dashboards.yml deleted file mode 100644 index 65c9cda..0000000 --- a/dashboard-plugin/opensearch_dashboards.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -server.name: opensearch-dashboards -server.host: "0.0.0.0" diff --git a/dashboard-plugin/package.json b/dashboard-plugin/package.json deleted file mode 100644 index 7e6109b..0000000 --- a/dashboard-plugin/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "ublDashboard", - "version": "0.0.0", - "private": true, - "scripts": { - "build": "yarn plugin-helpers build", - "plugin-helpers": "../../scripts/use_node ../../scripts/plugin_helpers", - "osd": "../../scripts/use_node ../../scripts/osd" - } -} diff --git a/dashboard-plugin/public/application.tsx b/dashboard-plugin/public/application.tsx deleted file mode 100644 index a467470..0000000 --- a/dashboard-plugin/public/application.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import { AppMountParameters, CoreStart } from '../../../src/core/public'; -import { AppPluginStartDependencies } from './types'; -import { UblDashboardApp } from './components/app'; - -export const renderApp = ( - { notifications, http }: CoreStart, - { navigation }: AppPluginStartDependencies, - { appBasePath, element }: AppMountParameters -) => { - ReactDOM.render( - , - element - ); - - return () => ReactDOM.unmountComponentAtNode(element); -}; diff --git a/dashboard-plugin/public/components/app.tsx b/dashboard-plugin/public/components/app.tsx deleted file mode 100644 index e07aa77..0000000 --- a/dashboard-plugin/public/components/app.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import React, { useState } from 'react'; -import { i18n } from '@osd/i18n'; -import { FormattedMessage, I18nProvider } from '@osd/i18n/react'; -import { BrowserRouter as Router } from 'react-router-dom'; - -import { - EuiButton, - EuiHorizontalRule, - EuiPage, - EuiPageBody, - EuiPageContent, - EuiPageContentBody, - EuiPageContentHeader, - EuiPageHeader, - EuiTitle, - EuiText, -} from '@elastic/eui'; - -import { CoreStart } from '../../../../src/core/public'; -import { NavigationPublicPluginStart } from '../../../../src/plugins/navigation/public'; - -import { PLUGIN_ID, PLUGIN_NAME } from '../../common'; - -interface UblDashboardAppDeps { - basename: string; - notifications: CoreStart['notifications']; - http: CoreStart['http']; - navigation: NavigationPublicPluginStart; -} - -export const UblDashboardApp = ({ - basename, - notifications, - http, - navigation, -}: UblDashboardAppDeps) => { - // Use React hooks to manage state. - const [timestamp, setTimestamp] = useState(); - - const onClickHandler = () => { - // Use the core http service to make a response to the server API. - http.get('/api/ubl_dashboard/example').then((res) => { - setTimestamp(res.time); - // Use the core notifications service to display a success message. - notifications.toasts.addSuccess( - i18n.translate('ublDashboard.dataUpdated', { - defaultMessage: 'Data updated', - }) - ); - }); - }; - - // Render the application DOM. - // Note that `navigation.ui.TopNavMenu` is a stateful component exported on the `navigation` plugin's start contract. - return ( - - - <> - - - - - -

- -

-
-
- - - -

- -

-
-
- - -

- -

- -

- -

- - - -
-
-
-
-
- -
-
- ); -}; diff --git a/dashboard-plugin/public/index.scss b/dashboard-plugin/public/index.scss deleted file mode 100644 index ff71124..0000000 --- a/dashboard-plugin/public/index.scss +++ /dev/null @@ -1 +0,0 @@ -/* stylelint-disable no-empty-source */ diff --git a/dashboard-plugin/public/index.ts b/dashboard-plugin/public/index.ts deleted file mode 100644 index da10ad3..0000000 --- a/dashboard-plugin/public/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -import './index.scss'; - -import { UblDashboardPlugin } from './plugin'; - -// This exports static code and TypeScript types, -// as well as, OpenSearch Dashboards Platform `plugin()` initializer. -export function plugin() { - return new UblDashboardPlugin(); -} -export { UblDashboardPluginSetup, UblDashboardPluginStart } from './types'; diff --git a/dashboard-plugin/public/plugin.ts b/dashboard-plugin/public/plugin.ts deleted file mode 100644 index afc2073..0000000 --- a/dashboard-plugin/public/plugin.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { i18n } from '@osd/i18n'; -import { AppMountParameters, CoreSetup, CoreStart, Plugin } from '../../../src/core/public'; -import { - UblDashboardPluginSetup, - UblDashboardPluginStart, - AppPluginStartDependencies, -} from './types'; -import { PLUGIN_NAME } from '../common'; - -export class UblDashboardPlugin - implements Plugin { - public setup(core: CoreSetup): UblDashboardPluginSetup { - // Register an application into the side navigation menu - core.application.register({ - id: 'ublDashboard', - title: PLUGIN_NAME, - async mount(params: AppMountParameters) { - // Load application bundle - const { renderApp } = await import('./application'); - // Get start services as specified in opensearch_dashboards.json - const [coreStart, depsStart] = await core.getStartServices(); - // Render the application - return renderApp(coreStart, depsStart as AppPluginStartDependencies, params); - }, - }); - - // Return methods that should be available to other plugins - return { - getGreeting() { - return i18n.translate('ublDashboard.greetingText', { - defaultMessage: 'Hello from {name}!', - values: { - name: PLUGIN_NAME, - }, - }); - }, - }; - } - - public start(core: CoreStart): UblDashboardPluginStart { - return {}; - } - - public stop() {} -} diff --git a/dashboard-plugin/public/types.ts b/dashboard-plugin/public/types.ts deleted file mode 100644 index c5c5900..0000000 --- a/dashboard-plugin/public/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NavigationPublicPluginStart } from '../../../src/plugins/navigation/public'; - -export interface UblDashboardPluginSetup { - getGreeting: () => string; -} -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface UblDashboardPluginStart {} - -export interface AppPluginStartDependencies { - navigation: NavigationPublicPluginStart; -} diff --git a/dashboard-plugin/server/index.ts b/dashboard-plugin/server/index.ts deleted file mode 100644 index 2d602bf..0000000 --- a/dashboard-plugin/server/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { PluginInitializerContext } from '../../../src/core/server'; -import { UblDashboardPlugin } from './plugin'; - -// This exports static code and TypeScript types, -// as well as, OpenSearch Dashboards Platform `plugin()` initializer. - -export function plugin(initializerContext: PluginInitializerContext) { - return new UblDashboardPlugin(initializerContext); -} - -export { UblDashboardPluginSetup, UblDashboardPluginStart } from './types'; diff --git a/dashboard-plugin/server/plugin.ts b/dashboard-plugin/server/plugin.ts deleted file mode 100644 index 05bb60a..0000000 --- a/dashboard-plugin/server/plugin.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { - PluginInitializerContext, - CoreSetup, - CoreStart, - Plugin, - Logger, -} from '../../../src/core/server'; - -import { UblDashboardPluginSetup, UblDashboardPluginStart } from './types'; -import { defineRoutes } from './routes'; - -export class UblDashboardPlugin - implements Plugin { - private readonly logger: Logger; - - constructor(initializerContext: PluginInitializerContext) { - this.logger = initializerContext.logger.get(); - } - - public setup(core: CoreSetup) { - this.logger.debug('ublDashboard: Setup'); - const router = core.http.createRouter(); - - // Register server side APIs - defineRoutes(router); - - return {}; - } - - public start(core: CoreStart) { - this.logger.debug('ublDashboard: Started'); - return {}; - } - - public stop() {} -} diff --git a/dashboard-plugin/server/routes/index.ts b/dashboard-plugin/server/routes/index.ts deleted file mode 100644 index 268ebc1..0000000 --- a/dashboard-plugin/server/routes/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { IRouter } from '../../../../src/core/server'; - -export function defineRoutes(router: IRouter) { - router.get( - { - path: '/api/ubl_dashboard/example', - validate: false, - }, - async (context, request, response) => { - return response.ok({ - body: { - time: new Date().toISOString(), - }, - }); - } - ); -} diff --git a/dashboard-plugin/server/types.ts b/dashboard-plugin/server/types.ts deleted file mode 100644 index 8fc57c1..0000000 --- a/dashboard-plugin/server/types.ts +++ /dev/null @@ -1,4 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface UblDashboardPluginSetup {} -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface UblDashboardPluginStart {} diff --git a/dashboard-plugin/translations/ja-JP.json b/dashboard-plugin/translations/ja-JP.json deleted file mode 100644 index 75a4954..0000000 --- a/dashboard-plugin/translations/ja-JP.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "formats": { - "number": { - "currency": { - "style": "currency" - }, - "percent": { - "style": "percent" - } - }, - "date": { - "short": { - "month": "numeric", - "day": "numeric", - "year": "2-digit" - }, - "medium": { - "month": "short", - "day": "numeric", - "year": "numeric" - }, - "long": { - "month": "long", - "day": "numeric", - "year": "numeric" - }, - "full": { - "weekday": "long", - "month": "long", - "day": "numeric", - "year": "numeric" - } - }, - "time": { - "short": { - "hour": "numeric", - "minute": "numeric" - }, - "medium": { - "hour": "numeric", - "minute": "numeric", - "second": "numeric" - }, - "long": { - "hour": "numeric", - "minute": "numeric", - "second": "numeric", - "timeZoneName": "short" - }, - "full": { - "hour": "numeric", - "minute": "numeric", - "second": "numeric", - "timeZoneName": "short" - } - }, - "relative": { - "years": { - "units": "year" - }, - "months": { - "units": "month" - }, - "days": { - "units": "day" - }, - "hours": { - "units": "hour" - }, - "minutes": { - "units": "minute" - }, - "seconds": { - "units": "second" - } - } - }, - "messages": { - "ublDashboard.buttonText": "Translate me to Japanese" - } -} diff --git a/dashboard-plugin/tsconfig.json b/dashboard-plugin/tsconfig.json deleted file mode 100644 index 7fa0373..0000000 --- a/dashboard-plugin/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "outDir": "./target", - "skipLibCheck": true - }, - "include": [ - "index.ts", - "common/**/*.ts", - "public/**/*.ts", - "public/**/*.tsx", - "server/**/*.ts", - "../../typings/**/*" - ], - "exclude": [] -} diff --git a/docker-compose.yaml b/docker-compose.yaml index db677fb..820eab2 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -2,7 +2,7 @@ version: '3' services: opensearch: - build: ./search-relevance-plugin/ + build: ./ container_name: opensearch environment: discovery.type: single-node diff --git a/search-relevance-plugin/example-events.json b/example-events.json similarity index 100% rename from search-relevance-plugin/example-events.json rename to example-events.json diff --git a/search-relevance-plugin/gradle.properties b/gradle.properties similarity index 100% rename from search-relevance-plugin/gradle.properties rename to gradle.properties diff --git a/search-relevance-plugin/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from search-relevance-plugin/gradle/wrapper/gradle-wrapper.jar rename to gradle/wrapper/gradle-wrapper.jar diff --git a/search-relevance-plugin/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from search-relevance-plugin/gradle/wrapper/gradle-wrapper.properties rename to gradle/wrapper/gradle-wrapper.properties diff --git a/search-relevance-plugin/gradlew b/gradlew similarity index 100% rename from search-relevance-plugin/gradlew rename to gradlew diff --git a/search-relevance-plugin/gradlew.bat b/gradlew.bat similarity index 100% rename from search-relevance-plugin/gradlew.bat rename to gradlew.bat diff --git a/search-relevance-plugin/install-plugin.sh b/install-plugin.sh similarity index 100% rename from search-relevance-plugin/install-plugin.sh rename to install-plugin.sh diff --git a/search-relevance-plugin/instant-search.json b/instant-search.json similarity index 100% rename from search-relevance-plugin/instant-search.json rename to instant-search.json diff --git a/search-relevance-plugin/.gitignore b/search-relevance-plugin/.gitignore deleted file mode 100644 index 85a4b53..0000000 --- a/search-relevance-plugin/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -# Ignore Gradle project-specific cache directory -.gradle - -# Ignore Gradle build output directory -build - -# intellij files -.idea/ -*.iml -*.ipr -*.iws -build-idea/ -out/ \ No newline at end of file diff --git a/search-relevance-plugin/README.md b/search-relevance-plugin/README.md deleted file mode 100644 index 3541af6..0000000 --- a/search-relevance-plugin/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# search-relevance-plugin - -Build the plugin. Note that you will have to match up the JDK 11 on your system to java home in the `gradle.properties` file: - -`./gradlew build` - -Build the OpenSearch docker image and add the plugin: - -`docker compose build` - -Start the containers: - -`docker compose up` - -Initialize the `awesome` search relevance index: - -``` -curl -X PUT http://localhost:9200/_plugins/search_relevance/awesome -``` - -Send an event to the `awesome` store: - -``` -curl -X POST http://localhost:9200/_plugins/search_relevance/awesome -H "Content-Type: application/json" -d @instant-search.json -``` - -Get events: - -``` -curl http://localhost:9200/.awesome_events/_search -``` diff --git a/search-relevance-plugin/search.sh b/search.sh similarity index 100% rename from search-relevance-plugin/search.sh rename to search.sh diff --git a/search-relevance-plugin/settings.gradle b/settings.gradle similarity index 100% rename from search-relevance-plugin/settings.gradle rename to settings.gradle diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/SearchRelevancePlugin.java b/src/main/java/org/opensearch/relevance/SearchRelevancePlugin.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/SearchRelevancePlugin.java rename to src/main/java/org/opensearch/relevance/SearchRelevancePlugin.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/SettingsConstants.java b/src/main/java/org/opensearch/relevance/SettingsConstants.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/SettingsConstants.java rename to src/main/java/org/opensearch/relevance/SettingsConstants.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/action/SearchRelevanceRestHandler.java b/src/main/java/org/opensearch/relevance/action/SearchRelevanceRestHandler.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/action/SearchRelevanceRestHandler.java rename to src/main/java/org/opensearch/relevance/action/SearchRelevanceRestHandler.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/action/SearchRelevanceSearchFilter.java b/src/main/java/org/opensearch/relevance/action/SearchRelevanceSearchFilter.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/action/SearchRelevanceSearchFilter.java rename to src/main/java/org/opensearch/relevance/action/SearchRelevanceSearchFilter.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/backends/Backend.java b/src/main/java/org/opensearch/relevance/backends/Backend.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/backends/Backend.java rename to src/main/java/org/opensearch/relevance/backends/Backend.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/backends/OpenSearchBackend.java b/src/main/java/org/opensearch/relevance/backends/OpenSearchBackend.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/backends/OpenSearchBackend.java rename to src/main/java/org/opensearch/relevance/backends/OpenSearchBackend.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/events/EventManager.java b/src/main/java/org/opensearch/relevance/events/EventManager.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/events/EventManager.java rename to src/main/java/org/opensearch/relevance/events/EventManager.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/events/queues/EventQueue.java b/src/main/java/org/opensearch/relevance/events/queues/EventQueue.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/events/queues/EventQueue.java rename to src/main/java/org/opensearch/relevance/events/queues/EventQueue.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/events/queues/InternalQueue.java b/src/main/java/org/opensearch/relevance/events/queues/InternalQueue.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/events/queues/InternalQueue.java rename to src/main/java/org/opensearch/relevance/events/queues/InternalQueue.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/model/QueryRequest.java b/src/main/java/org/opensearch/relevance/model/QueryRequest.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/model/QueryRequest.java rename to src/main/java/org/opensearch/relevance/model/QueryRequest.java diff --git a/search-relevance-plugin/src/main/java/org/opensearch/relevance/model/QueryResponse.java b/src/main/java/org/opensearch/relevance/model/QueryResponse.java similarity index 100% rename from search-relevance-plugin/src/main/java/org/opensearch/relevance/model/QueryResponse.java rename to src/main/java/org/opensearch/relevance/model/QueryResponse.java diff --git a/search-relevance-plugin/src/main/resources/org/opensearch/relevance/backends/events-mapping.json b/src/main/resources/org/opensearch/relevance/backends/events-mapping.json similarity index 100% rename from search-relevance-plugin/src/main/resources/org/opensearch/relevance/backends/events-mapping.json rename to src/main/resources/org/opensearch/relevance/backends/events-mapping.json diff --git a/search-relevance-plugin/src/main/resources/org/opensearch/relevance/backends/queries-mapping.json b/src/main/resources/org/opensearch/relevance/backends/queries-mapping.json similarity index 100% rename from search-relevance-plugin/src/main/resources/org/opensearch/relevance/backends/queries-mapping.json rename to src/main/resources/org/opensearch/relevance/backends/queries-mapping.json diff --git a/search-relevance-plugin/src/yamlRestTest/java/org/opensearch/rest/action/SearchRelevanceClientYamlTestSuiteIT.java b/src/yamlRestTest/java/org/opensearch/rest/action/SearchRelevanceClientYamlTestSuiteIT.java similarity index 100% rename from search-relevance-plugin/src/yamlRestTest/java/org/opensearch/rest/action/SearchRelevanceClientYamlTestSuiteIT.java rename to src/yamlRestTest/java/org/opensearch/rest/action/SearchRelevanceClientYamlTestSuiteIT.java diff --git a/search-relevance-plugin/src/yamlRestTest/resources/rest-api-spec/api/_plugins.search_relevance.json b/src/yamlRestTest/resources/rest-api-spec/api/_plugins.search_relevance.json similarity index 100% rename from search-relevance-plugin/src/yamlRestTest/resources/rest-api-spec/api/_plugins.search_relevance.json rename to src/yamlRestTest/resources/rest-api-spec/api/_plugins.search_relevance.json diff --git a/search-relevance-plugin/src/yamlRestTest/resources/rest-api-spec/test/_plugins.search_relevance/10_basic.yml b/src/yamlRestTest/resources/rest-api-spec/test/_plugins.search_relevance/10_basic.yml similarity index 100% rename from search-relevance-plugin/src/yamlRestTest/resources/rest-api-spec/test/_plugins.search_relevance/10_basic.yml rename to src/yamlRestTest/resources/rest-api-spec/test/_plugins.search_relevance/10_basic.yml