question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Search] Elastic Search Engine support

See original GitHub issue

What / Why

We provide easy, no/low-config support for search in Backstage using an in-memory search engine backed by Lunr. Given a sufficiently large set of Catalog entities, or a multi-pod deployment of Backstage, this approach will not be adequate.

To support these production use-cases, we’d like to add support for new elasticsearch engine.

Scope / UAT Target

  • Setup
    • As an app integrator, I should be able to configure connection details to an instance of ElasticSearch in app-config.yaml and instantiate an ElasticSearchEngine in my backend using that configuration.
  • Querying
    • As an app integrator, I should not have to specify how a SearchQuery (and its term, filters, types/indices, pagination) is translated into ElasticSearch’s query language.
    • As an app integrator, it should be possible to provide custom query translation logic.
  • Indexing
    • As a user of Backstage Search, valid search results should return for an index both during and after the indexing process completes.
    • As an app integrator, I should not have to worry about runaway disk usage in Elastic as a result of duplicate indices and/or errors during the index process.

Implementation Notes

  • Consider using a popular ElasticSearch query builder like elastic-builder in the translator.
  • Consider creating new indices each time SearchEngine::index is called, using aliases to flip between “old” and “current” indices for a given type/index, then deleting the old version (e.g. creating real-[indexType]-[timestamp], pointing search-[indexType] at the most recently created version, and deleting real-[indexType]-[oldTimestamp])

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
emmaindalcommented, Jun 10, 2021

@iamEAP yes, lets do a session on that end of sprint to provide more details to this issue!

0reactions
iamEAPcommented, Aug 5, 2021

Closing this out as a result of #6569! Thanks again Jussi.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Elasticsearch: The Official Distributed Search & Analytics Engine
Elasticsearch is a distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. As the heart of the...
Read more >
Simple Search Engine with Elastic Search
Elasticsearch is a RESTful distributed search engine. It is Java-based and can search and index document files in diverse formats. Kibana is an ......
Read more >
Elasticsearch: What it is, How it works, and what it's used for -
When people ask, “what is Elasticsearch?”, some may answer that it's “an index”, “a search engine”, an “analytics database”, “a big data solution”, ......
Read more >
What is Elasticsearch: Tutorial for Beginners | Logz.io
Initially released in 2010, Elasticsearch (sometimes dubbed ES) is a modern search and analytics engine which is based on Apache Lucene.
Read more >
What is Elasticsearch? - Elasticsearch - AWS - Amazon AWS
Elasticsearch is a distributed search and analytics engine built on Apache Lucene. Since its release in 2010, Elasticsearch has quickly become the most ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found