{"id":28804508,"url":"https://github.com/mft-labs/aepf_opensearch","last_synced_at":"2026-01-20T16:54:11.328Z","repository":{"id":293402290,"uuid":"983923026","full_name":"mft-labs/aepf_opensearch","owner":"mft-labs","description":"AepfOpensearch is an Elixir library that provides an OpenSearch data layer integration for the Ash Framework. It enables seamless interaction between Ash resources and OpenSearch, facilitating efficient data querying and indexing.","archived":false,"fork":false,"pushed_at":"2025-05-15T06:22:46.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-15T06:42:02.065Z","etag":null,"topics":["ash","datalayer","elixir"],"latest_commit_sha":null,"homepage":"https://mftlabs.io","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mft-labs.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,"zenodo":null}},"created_at":"2025-05-15T06:01:00.000Z","updated_at":"2025-05-15T06:21:06.000Z","dependencies_parsed_at":"2025-05-15T06:42:07.411Z","dependency_job_id":"75769e5c-5adf-40a7-96a1-d7f5a4ec8afa","html_url":"https://github.com/mft-labs/aepf_opensearch","commit_stats":null,"previous_names":["mft-labs/aepf_opensearch"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mft-labs/aepf_opensearch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mft-labs%2Faepf_opensearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mft-labs%2Faepf_opensearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mft-labs%2Faepf_opensearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mft-labs%2Faepf_opensearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mft-labs","download_url":"https://codeload.github.com/mft-labs/aepf_opensearch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mft-labs%2Faepf_opensearch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260523586,"owners_count":23021968,"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":["ash","datalayer","elixir"],"created_at":"2025-06-18T09:03:57.112Z","updated_at":"2026-01-20T16:54:11.316Z","avatar_url":"https://github.com/mft-labs.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AepfOpensearch\n\n`AepfOpensearch` is an Elixir library that provides an OpenSearch data layer integration for the Ash Framework. It enables seamless interaction between Ash resources and OpenSearch, facilitating efficient data querying and indexing.\n\n## Features\n\n- **Ash Data Layer Integration**: Implements the `Ash.DataLayer` behavior to connect Ash resources with OpenSearch.\n- **Custom Query Translator**: Translates Ash queries into OpenSearch DSL for efficient search operations.\n- **OpenSearch Client**: Handles HTTP interactions with the OpenSearch server.\n- **Seeder Utility**: Provides tools to seed data into OpenSearch indices.\n\n## Installation\n\nAdd `aepf_opensearch` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:aepf_opensearch, \"~\u003e 0.1.0\"}\n  ]\nend\n```\n\nThen, run:\n\n```bash\nmix deps.get\n```\n\n## Configuration\n\nConfigure the OpenSearch client in your application's config files:\n\n```elixir\nconfig :aepf_opensearch, AepfOpensearch.Client,\n  base_url: \"http://localhost:9200\",\n  json_library: Jason\n```\n\n## Usage\n\nTo use `AepfOpensearch` as the data layer for an Ash resource:\n\n```elixir\ndefmodule MyApp.BlogPost do\n  use Ash.Resource,\n    data_layer: AepfOpensearch.DataLayer\n\n  data_layer do\n    config :index, \"blog_posts\"\n  end\n\n  # Define your attributes and actions here\nend\n```\n\n## Documentation\n\nDocumentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc) and published on [HexDocs](https://hexdocs.pm). Once published, the docs can be found at [https://hexdocs.pm/aepf_opensearch](https://hexdocs.pm/aepf_opensearch).\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please open issues or submit pull requests for any enhancements or bug fixes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmft-labs%2Faepf_opensearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmft-labs%2Faepf_opensearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmft-labs%2Faepf_opensearch/lists"}