12 Oct
|
EON Media
|
Manitoba
12 Oct
EON Media
Manitoba
Eon Media is a B2B AI technology company that builds its AI products fully in-house for the broadcast and media industry. Our products help broadcasters, media companies and content owners simplify workflows, improve operational efficiency and unlock value from their video and audio archives.
Position Summary
Eon Media is seeking an experienced Search Developer on a contract basis to design, build, tune and operate the search layer behind our archive and media discovery products.
You will own how large volumes of media assets, transcripts and AI-generated metadata records are mapped, indexed, searched and ranked. This is a hands‑on engineering role for someone who understands OpenSearch from the inside: how a cluster behaves under load, why a query scores the way it does, and how to fix it when it doesn't.
Responsibilities
Own the Search layer behind our archive and media discovery products, from cluster design to production operations.
Model and index complex media metadata, transcripts and AI-generated data through reliable ingest pipelines.
Improve search relevance across lexical, neural and hybrid retrieval, and prove gains with measurable relevance tests.
Keep clusters healthy, fast and cost-efficient as data and traffic grow.
Build the aggregations behind faceted search, filters and archive analytics.
Document decisions and runbooks so the team can operate what you build.
Required Technical Skills
You must have deep, hands‑on knowledge in all seven areas below and be able to explain your reasoning, not just the configuration.
Shards, segments and replicas: how they relate, how they affect search and indexing, and how to choose primary shard and replica counts.
Node roles (cluster manager, data, ingest, coordinating, ML) and hot/warm/cold architectures.
Cluster health maintenance: allocation awareness, unassigned shard diagnosis, disk watermarks, rebalancing and snapshot/restore.
Index State Management (ISM), rollover, aliases and zero‑downtime reindexing.
2. Search Relevance
BM25 scoring: term frequency, IDF, field‑length normalization, and tuning k1 and b.
Neural and AI search: k‑NNa/vector fields, embedding models, the neural search plugin, and hybrid search with score normalization.
Rescoring (query rescorer), function_score (decay, field_value_factor, script_score) and boosting strategies.
Using the explain API and profile API to debug ranking; offline relevance evaluation (e.g. NDCG, MRR, precision@k).
3. Performance Optimization
JVM heap sizing and heap pressure, garbage collection behaviour, circuit breakers and fielddata.
Shard sizing and the cost of over‑sharding.
Caching: node query cache, shard request cache and the OS file system cache.
Refresh interval, flush and translog behaviour, segment merging and force merge.
Bulk indexing tuning, thread pools, and slow logs for diagnosis.
4. Mapping Strategies
Explicit versus dynamic mappings, dynamic templates and strict mode.
Nested versus object types, their query and memory implications, and when to use join or denormalization instead.
Multi‑fields, keyword versus text, doc_values, norms and index options.
Handling mapping changes and mapping explosion.
5. Text Analysis
Analyzers, tokenizers, character filters and token filters, and how they combine.
Custom analyzers for stemming, synonyms (index‑time versus search‑time), n‑grams, edge n‑grams and phonetic matching.
Multilingual analysis.
Testing analysis output with the _analyze API.
Ingest pipelines and processors, including enrichment, script processors and failure handling.
Bulk indexing design, idempotency, versioning and error handling.
Index‑per‑tenant versus shared index designs, time‑based indices and rollover.
Integrating indexing with upstream data and ML pipelines.
7. Aggregations
Bucket, metric and pipeline aggregations, including nested and reverse_nested aggregations.
Terms aggregation accuracy, shard_size, cardinality approximation and composite aggregations for pagination.
Memory and performance cost of high‑cardinality aggregations and how to control it.
We are looking for an engineer whose Search implementation knowledge is their own. You must be able to write queries, mappings, analyzers, pipelines and aggregations from first principles, and diagnose cluster issues, without relying on AI coding assistants (such as Copilot, ChatGPT, Claude or Cursor) to generate the code or the reasoning.
You may use official documentation as any experienced engineer would. What we need is someone who understands why a configuration works, can spot when a generated or copied solution is wrong, and can debug a production cluster under pressure.
Technical Assessment
All technical rounds are live, screen‑shared and conducted without AI tools; official documentation is allowed. Expect an in‑depth technical discussion, a hands‑on exercise in a live OpenSearch environment, and a cluster troubleshooting scenario.
What We’re Looking For
4+ years of hands‑on experience with OpenSearch in production.
Proven delivery of search systems at scale (enterprise volume of documents or more).
Solid proficiency with the OpenSearch REST API and Query DSL, plus at least one of Java or Node.js.
Experience operating clusters on self‑managed infrastructure.
Ability to work independently, document clearly and communicate proactively in a remote startup.
Nice to Have
Experience with media, broadcast, video or audio archives, or digital asset management (DAM/MAM) systems.
Search over transcripts, speech‑to‑text output or AI‑generated metadata.
Experience with embedding models and vector search at scale.
Experience migrating from Elasticsearch, Solr or another search engine to OpenSearch.
Duration: 3 months (possibility of extension)
Eon Media is a remote‑first startup . We trust our team to manage their time, take ownership, and communicate clearly. This is a fully remote contract role with no travel required.
Compensation
[$40 – $80 CAD/hour] ( based on experience ), invoiced monthly.
As an independent contractor, you are responsible for your own taxes, benefits, insurance and equipment.
#J-18808-Ljbffr
📌 Search Developer (Contract) (Manitoba)
🏢 EON Media
📍 Manitoba