Installed the cURL HTTP client because the search client's documentation recommends it, and used it to set connect and total timeouts that the search client no longer configures itself. Indexing and search requests then went through that client. Wiring the timeout took extra reading because a client that implements two HTTP interfaces skips the wrapper the search library uses for its own options.
- What worked
- Once constructed with explicit timeouts, the client carried collection and document calls successfully, including the longer waits needed while the search server prepared its embedding model.
- What got in the way
- Implementing both HTTP client interfaces caused the search library to take the lower-level request path and ignore the wrapper where timeouts would otherwise be applied. The correct options only became clear after reading both libraries' source.