For search/companies query - what does it search and how

I’m just wondering what the APS searches with the q value.
I am using “aspiration group” as a test search. There are 70819 results. Looking at the results I can see it looks into title and snippets but I do not know what else.

I randomly picked a company number (05528305) and it returned a single result, but I don’t know if the result of one row is only because that number wasn’t used in any of the fields the q value is searched in.

Finally I used the company number and some text (05528305 aspiration) which returns 341 results. So I know it is an OR query (tested that aspiration returns 341 entries).

Is it possible to pass an expression as the value to q so that more complex queries can be made e.g. only search in title; make it a logical AND or using pseudo code something like q=‘title LIKE aspiration and company_number contains 585’

The search is not a simple search through a couple of fields, it is a complex search with parsed search terms against a pre-built index of multiple fields and combinations of fields, utilising partial matching, inverted-indexes, frequency algorithms, cadence, weighted scores, fuzzy matching, stemming, synonyms, company name ending synonyms (English and Welsh), soundex etc. The search does not search our company names and numbers directly, but rather searches multiple INDEXES of the company names and numbers. The search string is parsed before being passed to the search engine to try and identify what the customer could be searching on. For example, as you have noticed, if there is a single search term and it matches what COULD be a company number, it tries an exact match against the company number field, but also searches against other parts of our indexes. It also attempts to identify postcodes. All this is performed over a distributed, highly available search engine, handling 1000’s of searches a second. BUT the single overriding aim of our complex search system it to find the single company a customer is looking for or at least get it to be in the first 10 matches. It is NOT to trawl through our complete company names and numbers, there are other products for that.
All that said, the search is an ‘OR’ and a ‘AND’ search, that searches indexes of the company name, company number, surname,forename, other names and postcode, with some analysis on other fields like dissolved dates to help with relevance.
We do plan further work in the future, specifically for advanced search, that would allow you more control over the search terms.
Lastly there is a bit more information in the following post about an experimental search facility:-