I tried an experiment, trying to understand if expressions in the description took place:
1-I put everything, including a description, in the header:
Thing object = new Thing.Builder() .setName(title + " " + description) .setUrl(uri) .build();
I could find everything in the title and / or description.
2nd did everything for the documentation, but left a description:
Thing object = new Thing.Builder() .setName(title) .setUrl(uri) .build();
I could search everything in the title, but terms that were only in the description could not be found in the search results.
3rd did everything for documentation, this time also added a description:
Thing object = new Thing.Builder() .setName(title) .setDescription(description) .setUrl(uri) .build();
The result was identical to case 2; could not find any term that was in the description, but not in the title.
4th did everything for documentation, this time added a fictitious but unique description:
Thing object = new Thing.Builder() .setName(title) .setDescription("askdf asdfm askdfssdf") .setUrl(uri) .build();
The search for this unique description did not find the application.
Based on this experiment, I do not think that the description is part of the search (or perhaps only used in a secondary way). My suggestion is that until there is a change, add a description in the header for indexing applications (for example, case 1 above), if you also need description conditions that need to be indexed. Now, rightly, in many cases this can lead to an overly wide range of hits. I suspect this may have something to do with the current implementation.