# text_search_stage

> **Function** in `langchain_mongodb`

📖 [View in docs](https://reference.langchain.com/python/langchain-mongodb/pipelines/text_search_stage)

Full-Text search using Lucene's standard (BM25) analyzer

## Signature

```python
text_search_stage(
    query: str,
    search_field: Union[str, List[str]],
    index_name: str,
    limit: Optional[int] = None,
    filter: Optional[Dict[str, Any]] = None,
    include_scores: Optional[bool] = True,
    **kwargs: Any = {},
) -> List[Dict[str, Any]]
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | `str` | Yes | Input text to search for |
| `search_field` | `Union[str, List[str]]` | Yes | Field in Collection that will be searched |
| `index_name` | `str` | Yes | Atlas Search Index name |
| `limit` | `Optional[int]` | No | Maximum number of documents to return. Default of no limit (default: `None`) |
| `filter` | `Optional[Dict[str, Any]]` | No | Any MQL match expression comparing an indexed field (default: `None`) |
| `include_scores` | `Optional[bool]` | No | Scores provide measure of relative relevance (default: `True`) |

## Returns

`List[Dict[str, Any]]`

Dictionary defining the $search stage

---

[View source on GitHub](https://github.com/langchain-ai/langchain-mongodb/blob/ad9050c28e092b335dcb846f77c0ec2245553f79/libs/langchain-mongodb/langchain_mongodb/pipelines.py#L21)