Nakisa SLAN Consultant
SAP Lease Administration by Nakisa (SLAN) is a JAVA application hosted on Tomcat Webserver. Elastic search is a specific function used in Nakisa when things do not perform in a consistent manner. Below are a few examples of problems that can occur within SLAN that the elastic search feature has been able to resolve
When a new Business Unit to a Company Code is mapped in the application configuration, it might still not be visible in the company code while creating the Master Lease Component:
When the dates are not calculating properly in the Lease Component, even with the term mentioned:
When a new file is uploaded, and the GL Accounts are not visible properly in the Accounting Determination:
Many other similar problems can arise in different stages, such as creating contracts, assessing activation groups, etc.
So, what’s the solution? This is the point at which we can turn to Elastic Search.
Elastic Search in SLAN or Nakisa
Elastic search was developed in Java and released as open source under the terms of the Apache License. This versatile tool can be used to comb through several different types of documents. It provides scale-able, near real-time search, and supports multi-tenancy.
Elastic search is distributed, which means that indices can be divided into shards, and each shard can have zero or more replicas. Each node hosts one or more shards, acting as a coordinator to delegate operations to the correct shard(s). Re-balancing and routing are done automatically.
Related data is often stored in the same index, which consists of one or more primary shards and zero or more replica shards. Once an index has been created, the number of primary shards cannot be changed.
Recreating an index in SLAN or Nakisa
Recreating an index in SLAN (Nakisa) creates Elastic search objects (Indexes – under the relevant nodes):
Improving Performance of SLAN Through Elastic Search
The performance of Nakisa depends majorly on the Elastic Search setup. Several parallel tasks, scheduled tasks, and search optimization are based on it. Nakisa supports 2 kinds of Elastic Search: Internal and External. Internal Elastic search in Nakisa is embedded to improve the performance of the application and search technique. This is helpful when an external Elastic search is not set. Although, external Elastic search always has better performance than the embedded Elastic search, and it can be set as follows:
1. Go to Tomcat Folder -> webapps -> leasing -> Conf.properties
2. Set dynamic.embedded=false
Once you complete these steps, you should see this screen:
Setting to Automatic or Manual Indexing
Once the external Elastic search is setup, it is necessary to ensure whether the indexing must be Manual or Automatic. Automatic Elastic Search performs indexing automatically over a certain period of time; it does not require manual intervention. On the other hand, Manual Elastic Search gives more flexibility to index the application as per the user requirement.
Automatic Index: The index operation automatically creates an index if it has not been created before, and automatically creates a dynamic type mapping for the specific type if one has not yet been created.
The mapping itself is very flexible and is schema-free. New fields and objects will automatically be added to the mapping definition of the type specified.
Automatic index creation can be disabled by enabling the settings below:
Go to Elastic Search Folder → config → (ElasticSearch.yml)
1. auto_create_index: false (Auto/Manual Setting)
2. mapper.dynamic: false (Index Setting)
If All the Automated Indices are not to be disabled, complex patterns can be used while setting up the elastic search, such as:
auto_create_index: -b*, +a*, -*
Here, the index starting with "a" will be created automatically, but others starting with "b" are not allowed.
-* indicates that other indices are not allowed and if you want you need to create them manually.