# How to filter search query by repeated words?

**URL:** <https://discuss.elastic.co/t/how-to-filter-search-query-by-repeated-words/303157>\
**Category:** Elasticsearch\
**Created:** [April 25, 2022, 12:30pm UTC](https://discuss.elastic.co/t/how-to-filter-search-query-by-repeated-words/303157 "2022-04-25T12:30:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![div927](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/div927/32/97523_2.png) [@div927](https://discuss.elastic.co/u/div927)\
**Post date:** [April 25, 2022, 12:30pm UTC](https://discuss.elastic.co/t/how-to-filter-search-query-by-repeated-words/303157/1 "2022-04-25T12:30:06Z")

</div>

Hello,

I am trying to write a search query which will search by taking input like keywords, example - apple, fruit, summer.  
After that it should return me the data from the Elasticsearch if all these 3 keywords are present in each string for 3 or more times.

---

<div class="post-metadata">

**Author:** ![RabBit\_BR](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rabbit_br/32/82261_2.png) [@RabBit\_BR](https://discuss.elastic.co/u/RabBit_BR)\
**Post date:** [April 25, 2022, 4:26pm UTC](https://discuss.elastic.co/t/how-to-filter-search-query-by-repeated-words/303157/2 "2022-04-25T16:26:20Z")

</div>

I recommend read this:

> **[Script query | Elasticsearch Guide \[8.1\] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-script-query.html)**

---

<div class="post-metadata">

**Author:** ![div927](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/div927/32/97523_2.png) [@div927](https://discuss.elastic.co/u/div927)\
**Post date:** [April 28, 2022, 10:55am UTC](https://discuss.elastic.co/t/how-to-filter-search-query-by-repeated-words/303157/3 "2022-04-28T10:55:33Z")

</div>

It doesn't have anything about repeated words like the word should be repeated in field 1 field 2 and field 3, 2 or more times.

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [April 28, 2022, 11:55am UTC](https://discuss.elastic.co/t/how-to-filter-search-query-by-repeated-words/303157/4 "2022-04-28T11:55:27Z")

</div>

Would a custom/script similarity help in your case? See [Similarity module | Elasticsearch Guide [8.1] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/8.1/index-modules-similarity.html)

---

<div class="post-metadata">

**Author:** ![div927](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/div927/32/97523_2.png) [@div927](https://discuss.elastic.co/u/div927)\
**Post date:** [April 28, 2022, 12:25pm UTC](https://discuss.elastic.co/t/how-to-filter-search-query-by-repeated-words/303157/5 "2022-04-28T12:25:49Z")

</div>

Custom/script similarity is for similar words thats the different thing I guess.

What I want to do is search for given keywords as for example apple,fruit,red and it should present in field1,field2,field3 and keyword which I search is present in all the fields i.e. 1,2 and 3 and each keywords should be repeated more than 1 times.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 26, 2022, 12:26pm UTC](https://discuss.elastic.co/t/how-to-filter-search-query-by-repeated-words/303157/6 "2022-05-26T12:26:18Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
