Skip to content

This project provides a search engine built on Elasticsearch for indexing and searching documents with advanced features like fuzzy search, weighted fields, and automatic enrichment of metadata such as transliteration tags.

Notifications You must be signed in to change notification settings

Nikoo-Asadnejad/SearchEngine

Repository files navigation

Searchable Document Elasticsearch Service

This project provides a search engine built on Elasticsearch for indexing and searching documents with advanced features like fuzzy search, weighted fields, and automatic enrichment of metadata such as transliteration tags.

Features

  • Elasticsearch Integration

    • Indexing and searching documents in real-time.
    • Automatic creation of transliteration tags, synonyms, and normalized keywords when indexing.
  • Search API

    • Perform fuzzy searches with relevance scoring.
    • Field-level boosting for prioritized search results:
      • title.key → Highest weight (100)
      • synonyms, transliterationTags, keywords, tags → Medium to high weight
      • content, description → Lower weight
  • RabbitMQ Integration

    • Documents can also be indexed via RabbitMQ events, allowing asynchronous processing and scalability.

API Endpoints

Method Endpoint Description
POST /api/documents Index a new document
GET /api/search Search across documents

About

This project provides a search engine built on Elasticsearch for indexing and searching documents with advanced features like fuzzy search, weighted fields, and automatic enrichment of metadata such as transliteration tags.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages