How do I setup the search function to match my users?


The purpose of this page is to enumerate the absolutely basic steps that should be taken (or at least thought of) when developing a search application in regards to relevancy tuning. The important thing is to consider this as just a first step, since your search application relevancy should continuously evolve according to your users' needs.

Advanced Relevancy Tuning

Advanced Cxense Search has support for custom relevancy scoring function too. This goes beyond the options described here, and should fit even complex customer requirements.

Please contact your responsible Onboarding contact or start a request on You will get experienced help in developing, deployement and optimization of custom scoring functions by Cxense.



Basic Relevancy Concepts

Type of Query

The first thing to think about when constructing your search interface is: how do I want the system to match the text/query specified by the user?

To answer this question you must understand the differences in each of the following three search requests explained below.

AND query

?p_aq=query("venture capital", token-op=and)

This query above will match only documents that contain all terms in the query, which in this case means that any document, in order to be returned, must have both the term venture as well as the term capital. Those terms can be found together (e.g. "raised more venture capital money..."), separately (e.g. "is initiating a new venture with capital raised..." or even in a different order (e.g. "for his new venture he raised capital from...").

This is the most common operator used across search applications and also the default operator used by cX::search if you do not pass a value for the token-op parameter.

PHRASE query

?p_aq=query("venture capital", token-op=phrase)

This query above, in contrary to the AND query, will only return documents that contain this exact phrase. This means that a document with a text like "raised more venture capital money..." will match, but a document with "is initiating a new venture with capital raised..." will not (due to the fact that there is an extra term - with - in between the two required terms).

This is an operator often used behind the scenes by search applications whenever a user puts some text in between quotes into the search box (this logic must be implemented by the front-end application using cX::search). It's very useful for scenarios where the user is trying to find some exact phrase he/she is looking for.

OR query

?p_aq=query("venture capital", token-op=or)

This last query is the most open of all, as it will return documents that contain any of the terms in the query. In this query, a document only needs to have the term venture or capital to be returned, without the need for having both (as it was the case with the AND and PHRASE queries). This means that a document with the text "he decided to venture down the hall..." will be returned, as well as a document with the text "Brasília is the federal capital of Brazil".


Have more questions? Submit a request


Powered by Zendesk