[quote="waleedkaramat, post:1, topic:163468"]
Above is my code, How can I modify this query that it should match according to the number of terms in the query string. (Dynamic)
[/quote]

With [`multi_match` query](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html), the query input for each field will be analyzed using the analyzer configured for each field, so there should be no need to _tokenize_ the input yourself when constructing a query. For example

```c#
var searchResult = client.Search<cars>(s => s
    .AllTypes()
    .Size(50)
    .Query(q => q
        .MultiMatch(m => m
            .Fields(f => f
                .Field("Name")
                .Field("State")
                .Field("Car")
            )
            .Query("John California Honda")
        )
    )
);
```

is equivalent to

```c#
var searchResult = client.Search<cars>(s => s
    .AllTypes()
    .Size(50)
    .Query(q => q
        .DisMax(dm => dm
            .Queries(dq => dq
                .Match(m => m
                    .Field("Name")
                    .Query("John California Honda")
                ), dq => dq
                .Match(m => m
                    .Field("State")
                    .Query("John California Honda")
                ), dq => dq
                .Match(m => m
                    .Field("Car")
                    .Query("John California Honda")
                )
            )
        )

    )
);
```

where the query input to each `match` query will be analyzed using the analyzer configured for search for each of the `"Name"`, `"State"` and `"Car"` fields, respectively.

---