Home
Softono
e

elastic

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
3

Software by elastic

ElasticSearch
Open Source

ElasticSearch

= Elasticsearch Elasticsearch is a distributed search and analytics engine, scalable data store and vector database optimized for speed and relevance on production-scale workloads. Elasticsearch is the foundation of Elastic's open Stack platform. Search in near real-time over massive datasets, perform vector searches, integrate with generative AI applications, and much more. Use cases enabled by Elasticsearch include: * https://www.elastic.co/search-labs/blog/articles/retrieval-augmented-generation-rag[Retrieval Augmented Generation (RAG)] * https://www.elastic.co/search-labs/blog/categories/vector-search[Vector search] * Full-text search * Logs * Metrics * Application performance monitoring (APM) * Security logs \... and more! To learn more about Elasticsearch's features and capabilities, see our https://www.elastic.co/products/elasticsearch[product page]. To access information on https://www.elastic.co/search-labs/blog/categories/ml-research[machine learning innovations] and the latest https://www.elastic.co/search-labs/blog/categories/lucene[Lucene contributions from Elastic], more information can be found in https://www.elastic.co/search-labs[Search Labs]. [[get-started]] == Get started The simplest way to set up Elasticsearch is to create a managed deployment with https://www.elastic.co/cloud/as-a-service[Elasticsearch Service on Elastic Cloud]. If you prefer to install and manage Elasticsearch yourself, you can download the latest version from https://www.elastic.co/downloads/elasticsearch[elastic.co/downloads/elasticsearch]. === Run Elasticsearch locally //// IMPORTANT: This content is replicated in the Elasticsearch repo. See `run-elasticsearch-locally.asciidoc`. Ensure both files are in sync. https://github.com/elastic/start-local is the source of truth. //// [WARNING] ==== DO NOT USE THESE INSTRUCTIONS FOR PRODUCTION DEPLOYMENTS. This setup is intended for local development and testing only. ==== Quickly set up Elasticsearch and Kibana in Docker for local development or testing, using the https://github.com/elastic/start-local?tab=readme-ov-file#-try-elasticsearch-and-kibana-locally[`start-local` script]. ℹ️ For more detailed information about the `start-local` setup, refer to the https://github.com/elastic/start-local[README on GitHub]. ==== Prerequisites - If you don't have Docker installed, https://www.docker.com/products/docker-desktop[download and install Docker Desktop] for your operating system. - If you're using Microsoft Windows, then install https://learn.microsoft.com/en-us/windows/wsl/install[Windows Subsystem for Linux (WSL)]. ==== Trial license This setup comes with a one-month trial license that includes all Elastic features. After the trial period, the license reverts to *Free and open - Basic*. Refer to https://www.elastic.co/subscriptions[Elastic subscriptions] for more information. ==== Run `start-local` To set up Elasticsearch and Kibana locally, run the `start-local` script: [source,sh] ---- curl -fsSL https://elastic.co/start-local | sh ---- // NOTCONSOLE This script creates an `elastic-start-local` folder containing configuration files and starts both Elasticsearch and Kibana using Docker. After running the script, you can access Elastic services at the following endpoints: * *Elasticsearch*: http://localhost:9200 * *Kibana*: http://localhost:5601 The script generates a random password for the `elastic` user, which is displayed at the end of the installation and stored in the `.env` file. [CAUTION] ==== This setup is for local testing only. HTTPS is disabled, and Basic authentication is used for Elasticsearch. For security, Elasticsearch and Kibana are accessible only through `localhost`. ==== ==== API access An API key for Elasticsearch is generated and stored in the `.env` file as `ES_LOCAL_API_KEY`. Use this key to connect to Elasticsearch with a https://www.elastic.co/guide/en/elasticsearch/client/index.html[programming language client] or the https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html[REST API]. From the `elastic-start-local` folder, check the connection to Elasticsearch using `curl`: [source,sh] ---- source .env curl $ES_LOCAL_URL -H "Authorization: ApiKey ${ES_LOCAL_API_KEY}" ---- To use the password for the `elastic` user, set and export the `ES_LOCAL_PASSWORD` environment variable. For example: [source,sh] ---- source .env export ES_LOCAL_PASSWORD ---- // NOTCONSOLE === Send requests to Elasticsearch You send data and other requests to Elasticsearch through REST APIs. You can interact with Elasticsearch using any client that sends HTTP requests, such as the https://www.elastic.co/guide/en/elasticsearch/client/index.html[Elasticsearch language clients] and https://curl.se[curl]. ==== Using curl Here's an example curl command to create a new Elasticsearch index, using basic auth: [source,sh] ---- curl -u elastic:$ES_LOCAL_PASSWORD \ -X PUT \ http://localhost:9200/my-new-index \ -H 'Content-Type: application/json' ---- // NOTCONSOLE ==== Using a language client To connect to your local dev Elasticsearch cluster with a language client, you can use basic authentication with the `elastic` username and the password stored in the `ES_LOCAL_PASSWORD` environment variable. You'll use the following connection details: * **Elasticsearch endpoint**: `http://localhost:9200` * **Username**: `elastic` * **Password**: `$ES_LOCAL_PASSWORD` (Value you set in the environment variable) For example, to connect with the Python `elasticsearch` client: [source,python] ---- import os from elasticsearch import Elasticsearch username = 'elastic' password = os.getenv('ES_LOCAL_PASSWORD') # Value you set in the environment variable client = Elasticsearch( "http://localhost:9200", basic_auth=(username, password) ) print(client.info()) ---- ==== Using the Dev Tools Console Kibana's developer console provides an easy way to experiment and test requests. To access the console, open Kibana, then go to **Management** > **Dev Tools**. **Add data** You index data into Elasticsearch by sending JSON objects (documents) through the REST APIs. Whether you have structured or unstructured text, numerical data, or geospatial data, Elasticsearch efficiently stores and indexes it in a way that supports fast searches. For timestamped data such as logs and metrics, you typically add documents to a data stream made up of multiple auto-generated backing indices. To add a single document to an index, submit an HTTP post request that targets the index. ---- POST /customer/_doc/1 { "firstname": "Jennifer", "lastname": "Walters" } ---- This request automatically creates the `customer` index if it doesn't exist, adds a new document that has an ID of 1, and stores and indexes the `firstname` and `lastname` fields. The new document is available immediately from any node in the cluster. You can retrieve it with a GET request that specifies its document ID: ---- GET /customer/_doc/1 ---- To add multiple documents in one request, use the `_bulk` API. Bulk data must be newline-delimited JSON (NDJSON). Each line must end in a newline character (`\n`), including the last line. ---- PUT customer/_bulk { "create": { } } { "firstname": "Monica","lastname":"Rambeau"} { "create": { } } { "firstname": "Carol","lastname":"Danvers"} { "create": { } } { "firstname": "Wanda","lastname":"Maximoff"} { "create": { } } { "firstname": "Jennifer","lastname":"Takeda"} ---- **Search** Indexed documents are available for search in near real-time. The following search matches all customers with a first name of _Jennifer_ in the `customer` index. ---- GET customer/_search { "query" : { "match" : { "firstname": "Jennifer" } } } ---- **Explore** You can use Discover in Kibana to interactively search and filter your data. From there, you can start creating visualizations and building and sharing dashboards. To get started, create a _data view_ that connects to one or more Elasticsearch indices, data streams, or index aliases. . Go to **Management > Stack Management > Kibana > Data Views**. . Select **Create data view**. . Enter a name for the data view and a pattern that matches one or more indices, such as _customer_. . Select **Save data view to Kibana**. To start exploring, go to **Analytics > Discover**. [[upgrade]] == Upgrade To upgrade from an earlier version of Elasticsearch, see the https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html[Elasticsearch upgrade documentation]. [[build-source]] == Build from source Elasticsearch uses https://gradle.org[Gradle] for its build system. To build a distribution for your local OS and print its output location upon completion, run: ---- ./gradlew localDistro ---- To build a distribution for another platform, run the related command: ---- ./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble ---- Distributions are output to `distribution/archives`. To run the test suite, see xref:TESTING.asciidoc[TESTING]. [[docs]] == Documentation For the complete Elasticsearch documentation visit https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html[elastic.co]. For information about our documentation processes, see the xref:https://github.com/elastic/elasticsearch/blob/main/docs/README.md[docs README]. [[examples]] == Examples and guides The https://github.com/elastic/elasticsearch-labs[`elasticsearch-labs`] repo contains executable Python notebooks, sample apps, and resources to test out Elasticsearch for vector search, hybrid search and generative AI use cases. [[contribute]] == Contribute For contribution guidelines, see xref:CONTRIBUTING.md[CONTRIBUTING]. [[questions]] == Questions? Problems? Suggestions? * To report a bug or request a feature, create a https://github.com/elastic/elasticsearch/issues/new/choose[GitHub Issue]. Please ensure someone else hasn't created an issue for the same topic. * Need help using Elasticsearch? Reach out on the https://discuss.elastic.co[Elastic Forum] or https://ela.st/slack[Slack]. A fellow community member or Elastic engineer will be happy to help you out.

NoSQL Databases Search Engines
76.9K Github Stars
eui
Open Source

eui

<img src="https://repository-images.githubusercontent.com/107422373/b6180480-a1d7-11eb-8a3c-902086232aa7" alt="" /> # Elastic UI Framework **The Elastic UI Framework is a collection of React UI components for quickly building user interfaces at Elastic.** Check out our [full documentation site][docs] which contains many examples of components in the EUI framework aesthetic, and how to use them in your products. Our FAQ below covers common usage questions — for other general questions regarding EUI, check out the [Discussions tab](https://github.com/elastic/eui/discussions). > [!NOTE] > We're in the process of migrating this repository to a monorepo structure. You can find `@elastic/eui` files in the [packages/eui](https://github.com/elastic/eui/tree/main/packages/eui) directory. ## Frequently Asked Questions ### What is the Elastic UI Framework? The Elastic UI Framework (EUI) is a design library in use at Elastic to build React applications that need to share our branding and aesthetics. It distributes typed UI React components and static assets for use in building web layouts. Alongside the React components, we ship theme & style utilities that can be used independently on their own. The primary goal of this library is to provide reusable UI components that can be used throughout Elastic's web products. As React components, they remove CSS from the process of building UIs. As a single source of truth, the framework allows our designers to make changes to our aesthetic directly in the code. And unit test coverage for the UI components allows us to deliver a stable "API for user interfaces". ### Can I use EUI? Please see Elastic's licensing FAQ: [I’m using EUI or Elastic Charts in my application outside of Kibana, how does this affect me?][licensing-faq] ### Why is EUI open source? Many of Elastic's products are open source and rely upon this library to function. The Elastic UI Framework began as a folder of code in Kibana and we decided it could be used beyond that codebase. It exists as an independent library so that patterns can be shared across teams and design standards can be scaled across our organization. Since most of our products are open source, we treat this one similarly as far as public publishing and conversation even if its usage tends to focus more inward towards Elastic itself. ### What is the versioning, release, and upgrade strategy? We use [semver](https://semver.org/) for versioning and use that to denote breaking changes in EUI upgrades. Traditionally we consider API changes in our prop names or existing component functionality to be a reason for a breaking change, but do not track the renaming of CSS selectors, mixins or other style changes under this same rigor. Traditionally releases are made weekly against whatever is in the `main` branch and you can upgrade from NPM as you see fit. ### Can I contribute to EUI? Yes! We welcome community-contributed PRs, especially around feature requests that the EUI team may not have bandwidth to carry out alone. You can find documentation around creating and submitting new components in [our wiki](wiki/contributing-to-eui/). ### What about reporting bugs and feature requests? Bug reports and feature requests are most welcome, but our roadmap and prioritization are driven primarily by internal Elastic usage. Please note that in order to keep our backlog manageable and focused on tasks we intend to complete, feature requests & tech debt issues that are inactive for a year will be auto-closed (bugs will remain open if determined to be reproducible and valid). This activity counter can be soft reset by commenting on the issue directly, but please do so mindfully. We would ask that you proactively let the EUI team know why this request matters to you or how it impacts you or your users, in order to help us prioritize accordingly. The EUI team, like everyone else, has a finite amount of time and resources, and it is not humanly possible for us to implement every task or feature requested of us. However, that's where the beauty of open source comes in - if your request is important to you, we strongly encourage you to [contribute code directly to EUI](wiki/contributing-to-eui/) that addresses your issue or request! ### I have more questions! The EUI team has ongoing FAQs for more transient or component-specific questions. [Please see the FAQ section in our GitHub discussions here](https://github.com/elastic/eui/discussions/categories/faq). ## Wiki Our wiki docs contain instructions and guidelines on multiple areas of EUI usage and development that are too detailed for an initial README. For more information, see: - [Consuming EUI](wiki/consuming-eui) - [Contributing to EUI](wiki/contributing-to-eui/) - [Running EUI locally](wiki/contributing-to-eui/running-eui-locally.md) ## License [Dual-licensed under Elastic v2 and Server Side Public License, v1][license]. See Elastic's [licensing FAQ][licensing-faq] for details. [license]: LICENSE.txt [licensing-faq]: https://www.elastic.co/pricing/faq/licensing#im-using-eui-or-elastic-charts-in-my-application-outside-of-kibana-how-does-this-affect-me [docs]: https://elastic.github.io/eui/

JavaScript Libraries & Components Design Systems & Tokens
6.3K Github Stars
elasticsearch-labs
Open Source

elasticsearch-labs

# Elasticsearch Examples & Apps **Visit [Search Labs](https://www.elastic.co/search-labs) for the latest articles and tutorials on using Elasticsearch for search and AI/ML-powered search experiences** This repo contains executable Python notebooks, sample apps, and resources for testing out the Elastic platform: - Learn how to use Elasticsearch as a vector database to store embeddings, power hybrid and semantic search experiences. - Build use cases such as retrieval augmented generation (RAG), summarization, and question answering (QA). - Test Elastic's leading-edge, out-of-the-box capabilities like the [Elastic Learned Sparse Encoder](https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-elser.html) and [reciprocal rank fusion (RRF)](<https://www.elastic.co/blog/whats-new-elastic-enterprise-search-8-9-0#hybrid-search-with-reciprocal-rank-fusion-(rrf)-combines-multiple-search-techniques-for-better-results>), which produce best-in-class results without training or tuning. - Integrate with projects like OpenAI, Hugging Face, and LangChain, and use Elasticsearch as the backbone of your LLM-powered applications. Elastic enables all modern search experiences powered by AI/ML. - Bookmark or subscribe to [Elasticsearch Labs on Github](https://github.com/elastic/elasticsearch-labs) - Read our latest articles at [elastic.co/search-labs](https://www.elastic.co/search-labs) # Apps - [Chatbot RAG App](./example-apps/chatbot-rag-app/) - [Internal Knowledge Search](./example-apps/internal-knowledge-search) - [Relevance Workbench](./example-apps/relevance-workbench) # Python notebooks 📒 The [`notebooks`](notebooks/README.md) folder contains a range of executable Python notebooks, so you can test these features out for yourself. Colab provides an easy-to-use Python virtual environment in the browser. ### Generative AI - [`question-answering.ipynb`](./notebooks/generative-ai/question-answering.ipynb) - [`chatbot.ipynb`](./notebooks/generative-ai/chatbot.ipynb) ### Playground RAG Notebooks Try out Playground in Kibana with the following notebooks: - [`OpenAI Example`](./notebooks/playground-examples/openai-elasticsearch-client.ipynb) - [`Anthropic Claude 3 Example`](./notebooks/playground-examples/bedrock-anthropic-elasticsearch-client.ipynb) ### LangChain - [`question-answering.ipynb`](./notebooks/generative-ai/question-answering.ipynb) - [`langchain-self-query-retriever.ipynb`](./notebooks/langchain/self-query-retriever-examples/langchain-self-query-retriever.ipynb) - [`Question Answering with Self Query Retriever`](./notebooks/langchain/self-query-retriever-examples/chatbot-example.ipynb) - [`BM25 and Self-querying retriever with elasticsearch and LangChain`](./notebooks/langchain/self-query-retriever-examples/chatbot-with-bm25-only-example.ipynb) - [`langchain-vector-store.ipynb`](./notebooks/langchain/langchain-vector-store.ipynb) - [`langchain-vector-store-using-elser.ipynb`](./notebooks/langchain/langchain-vector-store-using-elser.ipynb) - [`langchain-using-own-model.ipynb`](./notebooks/langchain/langchain-using-own-model.ipynb) ### Document Chunking - [`Document Chunking with Ingest Pipelines`](./notebooks/document-chunking/with-index-pipelines.ipynb) - [`Document Chunking with LangChain Splitters`](./notebooks/document-chunking/with-langchain-splitters.ipynb) - [`Calculating tokens for Semantic Search (ELSER and E5)`](./notebooks/document-chunking/tokenization.ipynb) - [`Fetch surrounding chunks`](./supporting-blog-content/fetch-surrounding-chunks/fetch-surrounding-chunks.ipynb) ### Search - [`00-quick-start.ipynb`](./notebooks/search/00-quick-start.ipynb) - [`01-keyword-querying-filtering.ipynb`](./notebooks/search/01-keyword-querying-filtering.ipynb) - [`02-hybrid-search.ipynb`](./notebooks/search/02-hybrid-search.ipynb) - [`03-ELSER.ipynb`](./notebooks/search/03-ELSER.ipynb) - [`04-multilingual.ipynb`](./notebooks/search/04-multilingual.ipynb) - [`05-query-rules.ipynb`](./notebooks/search/05-query-rules.ipynb) - [`06-synonyms-api.ipynb`](./notebooks/search/06-synonyms-api.ipynb) - [`07-inference.ipynb`](./notebooks/search/07-inference.ipynb) - [`08-learning-to-rank.ipynb`](./notebooks/search/08-learning-to-rank.ipynb) - [`09-semantic-text.ipynb`](./notebooks/search/09-semantic-text.ipynb) #### Semantic reranking - [`10-semantic-reranking-retriever-cohere.ipynb`](./notebooks/search/10-semantic-reranking-retriever-cohere.ipynb) - [`11-semantic-reranking-hugging-face.ipynb`](./notebooks/search/11-semantic-reranking-hugging-face.ipynb) ### Integrations - [`loading-model-from-hugging-face.ipynb`](./notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb) - [`openai-semantic-search-RAG.ipynb`](./notebooks/integrations/openai/openai-KNN-RAG.ipynb) - [`amazon-bedrock-langchain-qa-example.ipynb`](notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb) - [`Semantic Search using the Inference API with the Cohere Service`](/notebooks/integrations/cohere/inference-cohere.ipynb) ### Model Upgrades - [`upgrading-index-to-use-elser.ipynb`](notebooks/model-upgrades/upgrading-index-to-use-elser.ipynb) # Contributing 🎁 See [contributing guidelines](CONTRIBUTING.md). # Support 🛟 The Search team at Elastic maintains this repository and is happy to help. ### Official Support Services If you have an Elastic subscription, you are entitled to Support services for your Elasticsearch deployment. See our welcome page for [working with our support team](https://www.elastic.co/support/welcome). These services do not apply to the sample application code contained in this repository. ### Discuss Forum Try posting your question to the [Elastic discuss forums](https://discuss.elastic.co/) and tag it with [#esre-elasticsearch-relevance-engine](https://discuss.elastic.co/tag/esre-elasticsearch-relevance-engine) ### Elastic Slack You can also find us in the [#search-esre-relevance-engine](https://elasticstack.slack.com/archives/C05CED61S9J) channel of the [Elastic Community Slack](http://elasticstack.slack.com) # License ⚖️ This software is licensed under the [Apache License, version 2 ("ALv2")](https://github.com/elastic/elasticsearch-labs/blob/main/LICENSE).

AI & Machine Learning Search Engines
1.1K Github Stars