Skip to main content

[ ![🦜️🔗 Langchain](/img/brand/wordmark.png) ![🦜️🔗
Langchain](/img/brand/wordmark-dark.png) ](/) [ Docs
](/docs/get_started/introduction) [ Use cases ](/docs/use_cases) [
Integrations ](/docs/integrations/platforms/) [ Guides
](/docs/guides/debugging) [ API  ](https://api.python.langchain.com)

More

  * [ People ](/docs/people/)
  * [ Versioning ](/docs/packages)
  * [ Changelog ](/docs/changelog)
  * [ Contributing ](/docs/contributing)
  * [ Templates ](/docs/templates/)
  * [ Cookbooks  ](https://github.com/langchain-ai/langchain/blob/master/cookbook/README.md)
  * [ Tutorials ](/docs/additional_resources/tutorials)
  * [ YouTube ](/docs/additional_resources/youtube)

🦜️🔗

  * [ LangSmith  ](https://smith.langchain.com)
  * [ LangSmith Docs  ](https://docs.smith.langchain.com/)
  * [ LangServe GitHub  ](https://github.com/langchain-ai/langserve)
  * [ Templates GitHub  ](https://github.com/langchain-ai/langchain/tree/master/templates)
  * [ Templates Hub  ](https://templates.langchain.com)
  * [ LangChain Hub  ](https://smith.langchain.com/hub)
  * [ JS/TS Docs  ](https://js.langchain.com)

[ 💬  ](https://chat.langchain.com) [ ](https://github.com/langchain-
ai/langchain)

Search

  * [ Get started ](/docs/get_started)

    * [ Introduction ](/docs/get_started/introduction)
    * [ Installation ](/docs/get_started/installation)
    * [ Quickstart ](/docs/get_started/quickstart)
    * [ Security ](/docs/security)
  * [ LangChain Expression Language ](/docs/expression_language/)

    * [ Get started ](/docs/expression_language/get_started)
    * [ Why use LCEL ](/docs/expression_language/why)
    * [ Interface ](/docs/expression_language/interface)
    * [ Streaming ](/docs/expression_language/streaming)
    * [ How to ](/docs/expression_language/how_to/)

    * [ Cookbook ](/docs/expression_language/cookbook/)

    * [ LangChain Expression Language (LCEL) ](/docs/expression_language/)
  * [ Modules ](/docs/modules/)

    * [ Model I/O ](/docs/modules/model_io/)

    * [ Retrieval ](/docs/modules/data_connection/)

      * [ Document loaders ](/docs/modules/data_connection/document_loaders/)

      * [ Text Splitters ](/docs/modules/data_connection/document_transformers/)

      * [ Retrieval ](/docs/modules/data_connection/)
      * [ Text embedding models ](/docs/modules/data_connection/text_embedding/)

      * [ Vector stores ](/docs/modules/data_connection/vectorstores/)
      * [ Retrievers ](/docs/modules/data_connection/retrievers/)

        * [ Vector store-backed retriever ](/docs/modules/data_connection/retrievers/vectorstore)
        * [ MultiQueryRetriever ](/docs/modules/data_connection/retrievers/MultiQueryRetriever)
        * [ Contextual compression ](/docs/modules/data_connection/retrievers/contextual_compression)
        * [ Ensemble Retriever ](/docs/modules/data_connection/retrievers/ensemble)
        * [ Long-Context Reorder ](/docs/modules/data_connection/retrievers/long_context_reorder)
        * [ MultiVector Retriever ](/docs/modules/data_connection/retrievers/multi_vector)
        * [ Parent Document Retriever ](/docs/modules/data_connection/retrievers/parent_document_retriever)
        * [ Self-querying ](/docs/modules/data_connection/retrievers/self_query)
        * [ Time-weighted vector store retriever ](/docs/modules/data_connection/retrievers/time_weighted_vectorstore)
      * [ Indexing ](/docs/modules/data_connection/indexing)
    * [ Agents ](/docs/modules/agents/)

    * [ Chains ](/docs/modules/chains)
    * [ More ](/docs/modules/memory/)

  * [ LangServe ](/docs/langserve)
  * [ LangSmith ](/docs/langsmith/)

  * [ LangGraph ](/docs/langgraph)

  * [ ](/)
  * [ Modules  ](/docs/modules/)
  * [ Retrieval  ](/docs/modules/data_connection/)
  * [ Retrievers  ](/docs/modules/data_connection/retrievers/)
  * Contextual compression 

On this page

#  Contextual compression

One challenge with retrieval is that usually you don’t know the specific
queries your document sto