With the release of smart.finder 2.1.0, a number of improvements are provided. The main focus of this release is on improving the search experience in the client and filtering the search results based on user rights. This blog article briefly presents the main new features.
Updating core software components
The two essential base components of smart.finder, map.apps and Apache Solr, have been upgraded to the next higher version. The following versions are now supported:
- Support map.apps 4.12
- Support Apache Solr 8.10
New tool: "Search in this area"
With the help of this new tool you have the possibility to additionally limit a textual search to a spatial map section. After each successful search, or after each movement of the map, this tool is displayed below the search input field.
When you click on the tool, the current search result is again restricted to those documents that are wholly or partially located in the currently selected area.
Search results based on user roles
A comprehensive new feature is the filtering of search results based on the rights of the registered user. When a user logs on to smart.finder, he or she receives certain rights to the system (so-called permissions).
For each core of the smart.finder (i.e. each separate index), it is now possible to define which documents a user with a certain permission may see from this index. In addition, the fields of the individual documents can be filtered. Thus, a user can see a document in the search result, but only certain fields.
The following scenario explains this process:
1: A user has successfully logged on to smart.finder and has, among other things, the permission VIEW_A. However, users with this permission should only be able to see results from layer 2210. Furthermore, the documents for users with this permission are limited to the fields id, spatial, layer and title.
The user performs a search against the index core0. The user's permissions are known in the current session and can therefore be evaluated on the server side.
In the index, there are two potential documents with the IDs 1234_A and 1234_B, which correspond to the user's search.
2: The second step checks whether there is a filter rule for the index core0 that affects the permission VIEW_A. This filter rule enforces the above restriction on the internal search result: filter all documents that do not come from layer 2210. The restriction on the fields is already taken into account in the initial search.
3: In the result, only the document with the ID 1234_A will be part of the search result after the server-side enforcement of the filter. In addition, the view is limited to the fields id, spatial, layer and title.
4: The final filtered document is returned as the search result.
Show location via button
The location of a hit in the hit list is no longer displayed on the map when the mouse is moved over it. A button has been inserted for this purpose that must be explicitly clicked in order to display the spatial location for the respective document. Of course, this only applies to those documents that also have a spatial extent.
If the button is clicked, the map moves to the section of the document and shows the spatial position for a few seconds.
Documentation map.apps Smart Search Extension
The documentation of the map.apps Smart Search Extension now has its own section within the con terra product documentation. The releases of the extension are still made together with smart.finder, but the documentation can now be accessed at https://docs.conterra.de/de/mapapps-smart-search/latest/index.html.
At this point we would like to inform you that further development of the following features will be discontinued. The end of support from smart.finder will take place in the future as follows:
- Tomcat 8.5: With the next minor version of smart.finder (2.2), the operation of the web applications in Tomcat 8.5 is no longer supported. We recommend the use of Tomcat 9.0.
- Java 8: With the next minor version of smart.finder (2.2) the operation with a Java JRE 8 is no longer supported. We recommend the use of Java 11.