{"id":20604616,"url":"https://github.com/virtocommerce/vc-module-elastic-search","last_synced_at":"2025-04-15T02:25:05.338Z","repository":{"id":21611289,"uuid":"93398598","full_name":"VirtoCommerce/vc-module-elastic-search","owner":"VirtoCommerce","description":"Indexed search functionality with Elasticsearch 7.x and OpenSearch engines","archived":false,"fork":false,"pushed_at":"2025-02-20T13:17:39.000Z","size":459,"stargazers_count":8,"open_issues_count":1,"forks_count":3,"subscribers_count":24,"default_branch":"dev","last_synced_at":"2025-03-28T14:11:24.226Z","etag":null,"topics":["elasticcloud","elasticsearch","opensearch"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VirtoCommerce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-05T11:49:47.000Z","updated_at":"2025-02-20T13:17:24.000Z","dependencies_parsed_at":"2023-11-16T17:30:22.484Z","dependency_job_id":"db9ab262-f4a5-4b71-960f-e86b54749f93","html_url":"https://github.com/VirtoCommerce/vc-module-elastic-search","commit_stats":null,"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VirtoCommerce%2Fvc-module-elastic-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VirtoCommerce%2Fvc-module-elastic-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VirtoCommerce%2Fvc-module-elastic-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VirtoCommerce%2Fvc-module-elastic-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VirtoCommerce","download_url":"https://codeload.github.com/VirtoCommerce/vc-module-elastic-search/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248992660,"owners_count":21195089,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elasticcloud","elasticsearch","opensearch"],"created_at":"2024-11-16T09:24:06.257Z","updated_at":"2025-04-15T02:25:05.326Z","avatar_url":"https://github.com/VirtoCommerce.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Virto Commerce Elastic Search Module\n\n[![CI status](https://github.com/VirtoCommerce/vc-module-elastic-search/workflows/Module%20CI/badge.svg?branch=dev)](https://github.com/VirtoCommerce/vc-module-elastic-search/actions?query=workflow%3A\"Module+CI\") [![Quality gate](https://sonarcloud.io/api/project_badges/measure?project=VirtoCommerce_vc-module-elastic-search\u0026metric=alert_status\u0026branch=dev)](https://sonarcloud.io/dashboard?id=VirtoCommerce_vc-module-elastic-search) [![Reliability rating](https://sonarcloud.io/api/project_badges/measure?project=VirtoCommerce_vc-module-elastic-search\u0026metric=reliability_rating\u0026branch=dev)](https://sonarcloud.io/dashboard?id=VirtoCommerce_vc-module-elastic-search) [![Security rating](https://sonarcloud.io/api/project_badges/measure?project=VirtoCommerce_vc-module-elastic-search\u0026metric=security_rating\u0026branch=dev)](https://sonarcloud.io/dashboard?id=VirtoCommerce_vc-module-elastic-search) [![Sqale rating](https://sonarcloud.io/api/project_badges/measure?project=VirtoCommerce_vc-module-elastic-search\u0026metric=sqale_rating\u0026branch=dev)](https://sonarcloud.io/dashboard?id=VirtoCommerce_vc-module-elastic-search)\n\nThe Virto Commerce Elastic Search module implements the ISearchProvider defined in the VirtoCommerce Search module. It leverages the Elasticsearch and OpenSearch engines to store indexed documents.\n\nThe module supports the following Elasticsearch deployment options:\n\n* Standalone [Elasticsearch](https://www.elastic.co/products/elasticsearch)\n* [Elastic Cloud](https://cloud.elastic.co/)\n* [OpenSearch](https://opensearch.org/)\n* [Amazon OpenSearch Service](https://aws.amazon.com/opensearch-service/)\n\n## Configuration\nThe Elastic Search provider can be configured using the following keys:\n\n* **Search.Provider**: Specifies the search provider name, which must be set to \"ElasticSearch\".\n* **Search.Scope**: Specifies the common name (prefix) for all indexes. Each document type is stored in a separate index, and the full index name is scope-{documenttype}. This allows one search service to serve multiple indexes. (Optional: Default value is \"default\".)\n* **Search.ElasticSearch.Server**: Specifies the network address and port of the Elasticsearch server.\n* **Search.ElasticSearch.User**: Specifies the username for either the Elastic Cloud cluster or private Elasticsearch server. (Optional: Default value is \"elastic\".)\n* **Search.ElasticSearch.Key**: Specifies the password for either the Elastic Cloud cluster or private Elasticsearch server. (Optional)\n* **Search.ElasticSearch.EnableCompatibilityMode**: Set this to \"true\" to use Elasticsearch v8.x or \"false\" (default) for earlier versions. (Optional)\n* **Search.ElasticSearch.EnableHttpCompression**: Set this to \"true\" to enable gzip compressed requests and responses or \"false\" (default) to disable compression. (Optional)\n* **Search.ElasticSearch.CertificateFingerprint**: During development, you can provide the server certificate fingerprint. When present, it is used to validate the certificate sent by the server. The fingerprint is expected to be the hex string representing the SHA256 public key fingerprint.\n\nFor more information about configuration settings, refer to the [Virto Commerce Configuration Settings documentation](https://virtocommerce.com/docs/user-guide/configuration-settings/).\n\n## Samples\nHere are some sample configurations for different scenarios:\n\n### Elastic Cloud v8.x\n\n\u003e Virto Commerce has native [Elasticsearch 8.x module](https://github.com/VirtoCommerce/vc-module-elastic-search-8). The current module works with Elasticsearch 8.x in compatibility mode. \n\nFor Elastic Cloud v8.x, use the following configuration and enable the compatibility mode:\n\n```json\n\"Search\": {\n    \"Provider\": \"ElasticSearch\",\n    \"Scope\": \"default\",\n    \"ElasticSearch\": {\n        \"EnableCompatibilityMode\": \"true\",\n        \"Server\": \"https://4fe3ad462de203c52b358ff2cc6fe9cc.europe-west1.gcp.cloud.es.io:9243\",\n        \"User\": \"elastic\",\n        \"Key\": \"{SECRET_KEY}\"\n    }\n}\n```\n\n### Elasticsearch v8.x\nFor Elasticsearch v8.x without security features enabled:\n\n```json\n\"Search\": {\n    \"Provider\": \"ElasticSearch\",\n    \"Scope\": \"default\",\n    \"ElasticSearch\": {\n        \"EnableCompatibilityMode\": \"true\",\n        \"Server\": \"https://localhost:9200\"\n    }\n}\n```\n\nFor Elasticsearch v8.x with ApiKey authorization:\n\n```json\n\"Search\": {\n    \"Provider\": \"ElasticSearch\",\n    \"Scope\": \"default\",\n    \"ElasticSearch\": {\n        \"EnableCompatibilityMode\": \"true\",\n        \"Server\": \"https://localhost:9200\",\n        \"User\": \"{USER_NAME}\",\n        \"Key\": \"{SECRET_KEY}\"\n    }\n}\n```\n\n### Elastic Cloud v7.x\nFor Elastic Cloud v7.x, use the following configuration:\n\n```json\n\"Search\": {\n    \"Provider\": \"ElasticSearch\",\n    \"Scope\": \"default\",\n    \"ElasticSearch\": {\n        \"Server\": \"https://4fe3ad462de203c52b358ff2cc6fe9cc.europe-west1.gcp.cloud.es.io:9243\",\n        \"User\": \"elastic\",\n        \"Key\": \"{SECRET_KEY}\"\n    }\n}\n```\n\n### Elasticsearch v7.x\nFor Elasticsearch v7.x without security features enabled:\n\n```json\n\"Search\": {\n    \"Provider\": \"ElasticSearch\",\n    \"Scope\": \"default\",\n    \"ElasticSearch\": {\n        \"Server\": \"https://localhost:9200\"\n    }\n}\n```\nFor Elasticsearch v7.x with ApiKey authorization:\n\n```json\n\"Search\": {\n    \"Provider\": \"ElasticSearch\",\n    \"Scope\": \"default\",\n    \"ElasticSearch\": {\n        \"Server\": \"https://localhost:9200\",\n        \"User\": \"{USER_NAME}\",\n        \"Key\": \"{SECRET_KEY}\"\n    }\n}\n```\n\n### Amazon OpenSearch Service\nFor Amazon OpenSearch Service, use the following configuration:\n\n```json\n\"Search\": {\n    \"Provider\": \"ElasticSearch\",\n    \"Scope\": \"default\",\n    \"ElasticSearch\": {\n        \"Server\": \"https://{master-user}:{master-user-password}@search-test-vc-c74km3tiav64fiimnisw3ghpd4.us-west-1.es.amazonaws.com\"\n    }\n}\n```\n\n\n## Documentation\n\n* [Elastic Search module user documentation](https://docs.virtocommerce.org/platform/user-guide/elastic-search/overview/)\n* [Elastic Search module developer documentation](https://docs.virtocommerce.org/platform/developer-guide/Fundamentals/Indexed-Search/integration/configuring-elasticsearch/)\n* [REST API](https://virtostart-demo-admin.govirto.com/docs/index.html?urls.primaryName=VirtoCommerce.Search)\n* [Elastic Search configuration](https://docs.virtocommerce.org/platform/developer-guide/Configuration-Reference/appsettingsjson/#elasticsearch)\n* [View on GitHub](https://github.com/VirtoCommerce/vc-module-elastic-search)\n\n## References\n\n* [Deployment](https://docs.virtocommerce.org/platform/developer-guide/Tutorials-and-How-tos/Tutorials/deploy-module-from-source-code/)\n* [Installation](https://docs.virtocommerce.org/platform/user-guide/modules-installation/)\n* [Home](https://virtocommerce.com)\n* [Community](https://www.virtocommerce.org)\n* [Download latest release](https://github.com/VirtoCommerce/vc-module-elastic-search/releases/latest)\n\n## License\n\nCopyright (c) Virto Solutions LTD.  All rights reserved.\n\nLicensed under the Virto Commerce Open Software License (the \"License\"); you\nmay not use this file except in compliance with the License. You may\nobtain a copy of the License at\n\nhttp://virtocommerce.com/opensourcelicense\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtocommerce%2Fvc-module-elastic-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvirtocommerce%2Fvc-module-elastic-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtocommerce%2Fvc-module-elastic-search/lists"}