# `Scrypath.MultiSearch.Entries`
[🔗](https://github.com/szTheory/scrypath/blob/v0.3.5/lib/scrypath/multi_search/entries.ex#L1)

Normalizes `search_many/2` entry tuples and shared runtime options.

Shared and per-entry keyword options merge with **per-key right bias**: when both
sides define the same top-level key, the entry value wins (same as
`Keyword.merge/3` with a conflict function returning the entry side).

# `normalize`

```elixir
@spec normalize(
  list(),
  keyword()
) :: {:ok, [{module(), String.t(), keyword(), keyword()}]} | {:error, term()}
```

Normalizes `entries` with `shared_opts`, returning `{:ok, list}` of
`{schema, text, merged_opts, fed_opts}` in declaration order.

`fed_opts` is `[]` or `[federation_weight: float]` (per-entry merge weight for
federated multi-search). `:federation_weight` is never present on `merged_opts`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
