Thank you for accepting it as a solution.
We use Lucene interface that tokenizes the value and keeps the corresponding records of Indexed Id from SQL Table. Whenever the user requests to find a string, the query indeed constructs (SearchRule is 'Must' instead of 'May') and sends to Lucene and it retrieves the data from SQL. In this way, it is much faster for all the users.
The conditions are built like the following.
<conditions>
<SrchCond PropDefId="12" SrchOper="9" SrchTxt="40000" PropTyp="SingleProperty" SrchRule="Must" />
<SrchCond PropDefId="9" SrchOper="1" SrchTxt="Second" PropTyp="SingleProperty" SrchRule="Must" />
<SrchCond PropDefId="18" SrchOper="10" SrchTxt="1" PropTyp="SingleProperty" SrchRule="Must" />
</conditions>
I just wanted to clarify the reason for the queries being AND (Must) instead of OR (May) are
1. Performance
2. Performance
3. 1& 2
Yes. Believe me; If we use "OR" it is going to pull more data from SQL and other users have to wait until the results are returned.
Those were from the development perspective, I am open to your further questions to know more about the practical usage of OR in your workflow. Based on your feedback, I will bring it back to the core team to evaluate the requirements and consider it for future. You may also wish to log a request in Ideastation and get votes from peer users.
Regards,
Madhan

Madhanagopal Thiruvenkatachalam
Principal Engineer
Engineering Escalation Team
Autodesk, Inc.