Mem0’s Advanced Retrieval feature delivers superior search results by leveraging state-of-the-art search algorithms. Beyond the default search functionality, Mem0 offers the following advanced retrieval modes:

  1. Keyword Search

    This mode emphasizes keywords within the query, returning memories that contain the most relevant keywords alongside those from the default search. By default, this parameter is set to false. Enabling it enhances search recall, though it may slightly impact precision.

    client.search(query, keyword_search=True, user_id='alex')
    
  2. Reranking

    Reranking allows you to reorder the memories returned by the default search based on relevance. This parameter is set to false by default. When enabled, it reorders the memories based on the relevance score.

    client.search(query, rerank=True, user_id='alex')
    
  3. Filtering

    Filtering enables you to narrow down the search results by applying specific criteria. This parameter is set to false by default. Activating it enhances search precision, potentially reducing recall by a small margin.

    client.search(query, filter_memories=True, user_id='alex')
    

Note: You can enable or disable these search modes by passing the respective parameters to the search method. There is no required sequence for these modes, and any combination can be used based on your needs.

Latency Numbers

Here are the typical latency ranges for each search mode:

ModeLatency
Keyword Search<10ms
Reranking150-200ms
Filtering200-300ms

If you have any questions, please feel free to reach out to us using one of the following methods: