I want to be able to do an express search on a field from the Locality table which is not in the list of search fields in Specify-6’s express search configuration tool. It’s not possible to change that list, so I tried to configure the express search in Specify-7, by adding the ExpressSearchConfig app resource at the collection level. Then I modified the xml to include the field I want (originalElevationUnit) in the seachfields and displayfields sections of the Locality table:
But I get a “no match” result when I look for terms that exist in the field I added.
It seems that the express search is ignoring the ExpressSearchConfig app resource in Specify 7.
According to this post (App Resources in Specify 7) on the Express Search Config app resource:
“This is where you can configure the simple search behavior manually in the XML for a user in Specify 7. This is carried over from the Specify 6 configuration.”
I don’t understand what is carried over from Specify-6 to Specify-7. Does this mean it’s not possible to configure the express search only in Specify-7 with the app resource?
The express search is quite good as it is, but it just happens that in our data the locality is defined not only by the locality name, but often also by the waterbody name.
Therefore, for the express search to be really useful for my users, both the locality name and the field I used to store the waterbody name must be search fields.
Is it possible to configure the express search fields in Specify 7?
At this time, the only way to customize Simple Search is by using Specify 6.
Modifying the XML that defines the ExpressSearchConfig directly is not recommended or supported. It is permitted so that advanced users can import pre-configured search configs for users. Manual edits will be overwritten automatically by Specify 6 and will behave unpredictably.
When you configure Simple Search in Specify 6, it automatically updates the ExpressSearchConfig app resource owned by your user. This is how it is carried over from the Specify 6 configuration.
If it cannot be added using the Specify 6 user interface, it is not currently supported. This means that if origElevationUnit cannot be added in the 6 configuration tool, it cannot be added by modifying the XML manually.
In short, you should not modify the XML in Specify 7. We only support configuration of Simple Search in Specify 6 at this time, however we have an issue on GitHub to add this ability to Specify 7 in the future.
Good to know there’s an issue in Github. This is interesting because it’d be good to have more flexibility in defining fields for the express search, but it should also be kept simple, that’s the point of it.
About this:
Just to know, what are pre-configured search configs for users? How does that work?