Troubleshooting¶
Use this page to identify and resolve common issues with Percona Search for MongoDB.
Begin with the information available in the logs, index status, or query response. Review the suggested cause and resolution before altering multiple settings simultaneously. This approach simplifies the process of isolating the issue.
Before you troubleshoot¶
Check the following before changing the Percona Search configuration:
- Confirm that the configured model exists on the embedding provider.
- Test the embedding endpoint from the same host or container where
mongotruns. - Check the
mongotlog for the first provider error rather than only the final index status. - Verify the model name, endpoint, authentication settings, and model catalog together.
- Avoid using
localhostinproviderEndpointunless the embedding server is reachable from the same network namespace asmongot. - If you use Voyage AI, configure both
queryKeyFileandindexingKeyFile.
Automated embedding¶
The following are some potential issues to be aware of when using automated embedding with Voyage AI or an OpenAI-compatible embedding provider.
-
Voyage embedding model is skipped during startup:
mongotlogs a message similar to:Skipping Voyage embedding model '...'Cause
This is expected when Voyage AI credentials are not configured.
mongotskips Voyage models ifqueryKeyFileandindexingKeyFileare not set.Resolution
No action is required if you are not using Voyage AI.
If you want to use Voyage AI models, configure both
queryKeyFileandindexingKeyFile.Verify
Restart
mongotand check that the Voyage model is loaded without the skip message. -
mongotfalls back to the bundled model catalog:mongotreports that it could not load the configured model catalog and uses the bundled catalog.Cause
The file specified in
modelConfigFilemight:- Not exist
- Contain invalid syntax
- Be unreadable by the
mongotprocess - Point to the wrong location
Resolution
- Check the
modelConfigFilepath and validate the catalog file. - Ensure the
mongotprocess has read permissions for the file. - Fix any issues in the file and restart
mongot.
Verify
Check the startup logs to confirm that
mongotloads the configured catalog without falling back to the bundled version. -
An index remains in
PENDINGorBUILDINGstate:mongotlogs a message similar to:Failed embedding call in retry time: N, retryingCause
mongotcannot successfully generate embeddings. Common causes include:- The embedding endpoint is unreachable.
- The configured model does not exist.
- The model has not been pulled in Ollama.
- The embedding service is temporarily unavailable.
Resolution
- Check that the embedding service is running and that the configured model is available.
- Test the endpoint from the host or container where
mongotruns. mongotretries failed embedding requests according toerrorHandlingConfig. After the provider becomes available, indexing can continue automatically.
Verify
Check the index status and confirm that it progresses from
PENDINGorBUILDINGtoREADY. -
Embedding requests return HTTP
401or403:mongotreports an authentication failure.Cause
The API key is missing, invalid, or sent using the wrong HTTP header.
Resolution
-
Check the configured API key and
authHeaderName. -
For Azure OpenAI deployments that use API key authentication, configure:
authHeaderName: api-key -
Authentication errors are not retried. Correct the authentication configuration before retrying the request.
Verify
Retry the operation and confirm that the embedding provider accepts the request.
-
-
OPENAI_COMPATIBLEreports unsupported embeddings:mongotreports:OPENAI_COMPATIBLE provider currently supports only float embeddingsCause
The model catalog requests an embedding representation that the provider does not support.
Resolution
Configure:
quantization: floatYou can also omit the setting if
floatis used by default.Verify
Restart
mongot, then recreate or update the index and confirm that embedding generation starts successfully. -
Search relevance is poor with some embedding models:
Queries complete successfully, but the results are noticeably less relevant than expected.
Cause
Some embedding models use different prefixes for documents and queries.
For example, models such as
nomic-embed-textcan requiredocumentPrefixandqueryPrefix. Without these prefixes, indexing and queries can still succeed, but the vectors may not be comparable in the way the model expects.Resolution
- Check the embedding model documentation and configure the required
documentPrefixandqueryPrefixvalues in the model catalog. - Rebuild the affected index if required.
Verify
Run the same representative queries again and compare the returned results.
- Check the embedding model documentation and configure the required
-
A remote
mongotinstance cannot connect to Ollama:Ollama works locally, but
mongotrunning on another host cannot reach it.Cause
Ollama listens on
127.0.0.1by default. This allows connections only from the local host.Resolution
-
Configure Ollama to listen on an address reachable by
mongot.For example:
OLLAMA_HOST=0.0.0.0:11434 ollama serve -
Configure
providerEndpointwith the hostname or IP address thatmongotcan reach. -
Do not use
localhostunless Ollama andmongotrun on the same host or network namespace.
Verify
From the host or container where
mongotruns, test the Ollama endpoint before retrying the index build. -