{"id":13766317,"url":"https://github.com/aparo/elasticsearch-opensearch-migration-scripts","last_synced_at":"2025-03-24T04:43:51.393Z","repository":{"id":66571714,"uuid":"427089476","full_name":"aparo/elasticsearch-opensearch-migration-scripts","owner":"aparo","description":"Scripts useful to migrate code/plugins from ElasticSearch to OpenSearch","archived":false,"fork":false,"pushed_at":"2021-11-13T20:12:46.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T10:44:17.165Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aparo.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-11T17:38:36.000Z","updated_at":"2021-11-13T20:17:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"62fe4665-d794-4f45-a6f2-9c549b6658d3","html_url":"https://github.com/aparo/elasticsearch-opensearch-migration-scripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aparo%2Felasticsearch-opensearch-migration-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aparo%2Felasticsearch-opensearch-migration-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aparo%2Felasticsearch-opensearch-migration-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aparo%2Felasticsearch-opensearch-migration-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aparo","download_url":"https://codeload.github.com/aparo/elasticsearch-opensearch-migration-scripts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245212136,"owners_count":20578440,"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":[],"created_at":"2024-08-03T16:00:53.870Z","updated_at":"2025-03-24T04:43:51.347Z","avatar_url":"https://github.com/aparo.png","language":"Shell","funding_links":[],"categories":["⚙️ Tools","Tools"],"sub_categories":[],"readme":"# Elasticsearch to Opensearch Migration Scripts\n\nThis is a collection of scripts that I use to migrate code/plugins from ElasticSearch to OpenSearch.\n\n## Usage\n\nThere are two scripts that need to be copied in an user accessible path (ie. ~/bin/ )\n- chcase: used to rename directories and files. I take it from [http://www.primaledge.ca/chcase.html](http://www.primaledge.ca/chcase.html). It`s a old script from 2005, but I'm affectionated to it. Use *chcase -e* for example of usage\n- to-os: a bash script that do the job simplify the conversation from Elasticsearch to OpenSearch namespaces/names.\n\nThe renaming is not 100% effective, but it does automatically a lot of the effort required in migrating a plugin.\n\n### Requirements\nThe prerequisites are perl and bash, that are generally installed in every Linux system and MacOS.\n\nThe perl regex module must be installed on the system otherwise you should have a similar error:\n```\nCan't locate Regexp/Common.pm in @INC (you may need to install the Regexp::Common module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at -e line 3.\nBEGIN failed--compilation aborted at -e line 3.\n```\n\nOn Ubuntu install it via: \n```\nsudo apt-get install -y libregexp-common-perl\n```\n\nOn Unix/Macos:\n```\ncpan Regexp::Common\n```\n\n### Future plan\nConvert it in a Scala script via ammonite or a Python one.\n\n## My Rationale\n\nDue to license change of ElasticSearch to OSS license to a *dangerous* SSPL, it's not safe to manage my personal data assets in Elasticsearch anymore.\nIn my home lab I built different tools around Elasticsearch:\n- link tech collector crawling system to retrieve latest new about my technology passions (ie Scala, ElasticSearch, OpenSearch)\n- huge collection of datasets for NLP processing and AI developing\n- a collection of Italian recipes for my wife/grandma\n- the catalog of my book/manga collections\n- all my indexed source code\n- ...\n\nIMHO, the rationals are not AWS vs Elastic, but [freedom](https://www.youtube.com/watch?v=f4Mc-NYPHaQ) vs lock-in. \nMy position is more like [Richard Stallman](https://en.wikipedia.org/wiki/Richard_Stallman), but I am not a purist and I think the Apache 2 is a good licence. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faparo%2Felasticsearch-opensearch-migration-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faparo%2Felasticsearch-opensearch-migration-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faparo%2Felasticsearch-opensearch-migration-scripts/lists"}