...
The module learns user preferences to offer better result ranking for subsequent searches. By default, search result rankings are stored per user. You can change the configuration as necessary. For example, you can enable an individual ranking for each user or for selected users only. Additionally, you can configure the memory size of networks to mitigate possible memory consumption issues in large setups.
...
Property | Description |
---|---|
outputUnits | required, default is The memory size of neural networks. The result-ranking system requires memory (heap space) and disk space per unit for each user (local ranking) or instance (global ranking). You can adjust the size of the memory used per unit to mitigate possible memory consumption issues (see Result Ranker memory size). |
rankingNetworkStorageStrategy | required The result-ranking memory strategy. The default strategy stores result rankings per user. Other strategies are possible (see Result Ranker strategy). To adjust the strategy, set the |
class | required, default is Other possible values must be a subtype of |
...
The Periscope Result Ranker module creates a certain number of memory units. The total number of memory units depends on the Result Ranker strategy. The size of a single memory unit is based on the Result Ranker memory size.
Result Ranker strategy
You can set the Result Ranker strategy via the class
property of the rankingNetworkStorageStrategy
property.
...
Large networks can store more results but use up more memory, while small networks consume less memory but might lose stored results to free up additional memory. Results are removed from networks based on a least-recently-used policy. This ensures that frequent results remain in memory irrespective of when they were added to the networks. You may want to configure the memory size of networks depending on the Result Ranker strategy.
When you change the outputUnits
value (e.g. from 10000
to 1000
), you need to clean up the JCR rankings
workspace. Otherwise, an error will appear when you select a search result. This is because the networks loaded into memory were created using a configuration that no longer exists, rendering any stored results obsolete. When you change the outputUnits
value, make sure that you delete any stored networks and log into the Magnolia instance again to regenerate networks using the new configuration (see Clearing Result Ranker memory).
Changing configuration
The Periscope Result Ranker module configuration resides in periscope-result-ranker/src/main/resources/periscope-result-ranker/config.yaml
. The module is deployed as a JAR file, but you can change the configuration by one of the following means:
...