Gravatar for

Question by arif_solkar, Feb 11, 2019 3:57 PM

How to search for all the keywords mentioned in the querytext


I am using coveo for sitecore (coveo cloud).

I have set the below value for performing a partial match on the coveo cloud

partialMatchKeywords to 2

partialMatchThreshold to 50%

partialMatch to true.

However, I need to look for all the keywords on mentioned in the query text. For example the query "How do I find my perfect match for the products ordered". and the keywords are "perfect", "match" ,"products" and "ordered".

The index should look for items with any of the above keywords or a combination of keywords and should return the relevant result.

What is the best way to configure this,so no items is being skipped and if the result is being tagged with those keywords or present in title or body it should return the appropriate result.


Arif Solkar

1 Reply
Gravatar for

Answer by François Lachance-Guillemette, Feb 11, 2019 4:58 PM

In fact, partial match is the opposite of what you are asking for.

By default, the index will use all the keywords and return documents matching them.

Partial match allows the index to *ignore* some words in the query. For instance, those three unrelated keywords "yellow page trout" with partial match would match documents that are either "yellow trout" or "yellow page" or "page trout".

`partialMatchKeywords` is the minimum number of keywords to activate partial match (2 keywords in your case) and the `partialMatchThreshold` is the number of expressions keywords that can count as a match.

In your example, this means that `How do I find my perfect match for the products ordered` will match any document that contains *half the keywords* from this sentence.

In fact, I think you would have the required behavior by disabling partial match.

See here for more details: Taking Advantage of Keywords Partial Matches or the other questions on this subject


Another thing to note is that if you have the Automatic Relevance Tuning machine learning model in your query pipeline, it can actually propose documents that are not *exactly* matching your current query.

The model figures out, based on analytics data, which documents are clicked for which keywords, so it will automatically correct the results over time.

This would give you much better results than trying to configure partial match.

Ask a question