Installation
This article outlines Lingo3G software requirements, installation steps and the license file location mechanism.
Requirements
- License file
- You need a valid license file to download and run Lingo3G. To get a trial license or recover a license you purchased, contact us at info@carrotsearch.com.
- Java 11 or later
- Lingo3G requires Java 11 or later. If you don't have Java installed on your system, you can get it from https://adoptopenjdk.net.
- Operating System
- Lingo3G works on any modern operating system that supports Java 11 or later, including Windows, Linux or Mac OS.
- Web browser
-
Lingo3G apps require a modern browser, such as the latest version of Chrome, Firefox, Safari or Edge.
Internet Explorer is not supported.
Installation
To install Lingo3G on your machine, perform these steps:
-
Verify if Java 11 or later is available on your system by running the following command:
java -version
If Java 11 or later is available, the output should be similar to:
openjdk version "11.0.9" 2020-10-20 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9+11) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9+11, mixed mode)
If Java 11 is not available on your system, you can get the installation package from https://adoptopenjdk.net.
-
Go to secure.carrotsearch.com and download Lingo3G version 2.0.0 or later.
-
Unpack the archive to a local folder.
-
Copy your license file (the ZIP archive or the XML license file inside the ZIP) to the
dcs/conf
folder inside the Lingo3G folder.Sometimes it may be convenient to keep the license file at a different location, such as the user's home directory. See License file locations for the list of possibilities.
Now you are ready to run the Clustering Workbench app and the REST API. The Java API requires additional setup steps.
License
You need a valid license to download and run Lingo3G. To get an evaluation license or recover a license you purchased, contact us at info@carrotsearch.com.
The license is a plain-text unicode string. We distribute licenses as XML
files following the license*.xml
naming convention. The
license file can be compressed with ZIP, but the resulting archive must
contain exactly one file (the license) inside the archive. (We e-mail
license files inside ZIP archives because some spam filters block XML
attachments.)
To validate a license file, upload it at secure.carrotsearch.com. The validator shows when your license expires (you will not be able to use the software beyond that date) and when software maintenance expires (you will not be able to upgrade to versions released after that date). The validator also lets you download all the products covered by the license file.
License file locations
To perform clustering, Lingo3G must be able to read the license file at runtime. Lingo3G attempts to read the license from a number of locations. The specific locations are different for the Java API and the Document Clustering Server.
Document Clustering Server
Document Clustering Server scans the following locations for license files:
-
If you pass license string in the
license
request parameter, Lingo3G will use it. -
DCS attempts to read the license from all files matching the
license*.(xml|zip)
pattern under thedcs/conf
folder. We recommend this location for installing the license file in the DCS. -
If you define the
LICENSE_LINGO3G
environment variable to point to an accessible file or directory, Lingo3G will scan that location for any files matching thelicense*.(xml|zip)
pattern. Lingo3G will try to find a valid license among all matching files. -
If
user.home
system property is accessible and points to a readable folder, Lingo3G will scan that location for any files matching thelicense*.(xml|zip)
pattern. Lingo3G will try to find a valid license among all matching files.
Java API
Lingo3G Java API uses the following steps to determine which license to use for processing the request. Once Lingo3G finds a valid license, it does not check further locations.
-
If you pass license string in the
license
parameter, Lingo3G will use it. -
If you define the
LICENSE_LINGO3G
environment variable to point to an accessible file or directory, Lingo3G will scan that location for any files matching thelicense*.(xml|zip)
pattern. Lingo3G will try to find a valid license among all matching files. -
If
user.home
system property is accessible and points to a readable folder, Lingo3G will scan that location for any files matching thelicense*.(xml|zip)
pattern. Lingo3G will try to find a valid license among all matching files. -
If you make available a resource called
license.xml
loadable via the class loader of theLingo3GClusteringAlgorithm
class, Lingo3G will attempt to read the license from that resource. -
If you provide any custom
LicenseLocationSupplier
service loader implementations, Lingo3G will use them to look up licenses.
During software development, it is most convenient to copy the license file into your home directory. In production, we recommend creating a custom license location supplier extension that will provide the license location to Lingo3G. You can find an an example of this approach in the elasticsearch-lingo3g extension plugin for Elasticsearch.