Search engine
Indexing setup | Indexes update | Security filtering | Use the search function |
This document includes information about the Search Engine layers in the version 7 web platform. It describes the main principles and provides access links on additional detailed documents stating the implementation in a Sage X3 platform.
In version 7, the Search Engine is one of the standard components of the web server platform. It is based on Elasticsearch and Lucene. The Search Engine set up is done by a description of entities and properties in which the search is possible. A set up of search categories can also be done.
Access to the Search Engine is available from the web client toolbar.
1. Indexing setup
Administration Endpoint entities
By default, all entities managed by the web server administration platform are indexed. Therefore, no set up is necessary for the administration endpoint.
As a dedicated index is also positioned on the functions available for users, and the navigation can be replaced by a search on the function name.
ERP Endpoints entities
For all others endpoints, an indexing policy must be set up. The principles are based on a setup available in the Class dictionary:
- On every Persistent class, a Searchable check box can be set to declare that the entity must be indexed.
- On every property of a searchable class, a Searchable check box determines whether the property values must be indexed.
- Some properties may also be associated with categories.
Categories management
When a category is established, the Search Engine maintains a list of all category values and proposes a filter on these values. For example:
- If a category COUNTRY has been defined and associated with several properties located in customer, supplier, companies, orders, invoices, and so forth.
- When searching for "MARTIN", the Search Engine may find thousands of results: 250 customers, 39 suppliers, 4 companies, 6789 invoices, and so forth.
- If an additional filter is set on "Germany", which is a value in the properties defined as COUNTRY, the Search Engine will filter the outcome, and only 3 customers, 1 supplier, 2 companies, and 45 invoices might remain.
Predefined categories exist for the administration platform data. They are listed below:
Category | Entities and properties concerned |
---|---|
Groups | Users (group) Groups (description) |
Roles | Groups (role) Roles (description) |
Categories | Portlets (categories) Menu items (categories) |
Endpoints | Applications (endpoints) Endpoints (description) Groups (endpoints) Portlets (endpoints) Sage X3 servers (endpoints) |
2. Indexes update
The index update is performed by a dedicated operation. This indexing can be done directly or scheduled to be executed in a batch.
Any modification done through the web client is automatically sent by the platform to feed the search indexes.
3. Data filtering according to rights
The rights taken in consideration for search are those associated to the Sage X3 user code on the folder (endpoint) on which the search is done.
Classes access
The first filter is done on classes a user has access to. The access right is determined by the user access given to the functions in the folder (access code and presence of the function in the user profile).
Record level access
The second filter is done on the record according to company/site filtering and also access code if an access code is present on the record.
Property access
Property values that have an access code preventing a user to see its content will be hidden in the search result.
4. Use the search function
Searching for information is done by entering values in the search box located on the upper bar. When entering a word, only the occurrences for the whole word are searched unless an asterisk is added at the end of the search string.
It is also possible to use AND and OR during a search. This can be useful, for example if you are not sure of the exact name or code of the function you are searching for.
The search results list is displayed with a link that leads to the correct page. Filtering can be done on different categories values shown in a tree view.
The search is restricted to the current endpoint if a particular one is selected on the upper bar. When no endpoint is defined, the search is performed on all endpoints available to the user.