Voyager's Python Requirements
Voyager Server and Vose require Python to deliver important functionality.This is a brief summary of Voyager's specific Python requirements.Â
Installing Python
Current versions of Voyager Server and Vose do not install Python on your system. Installing Python is only a pre-requisite if you plan to do the following:
Run any of the processing tasks
Add Database Advanced locations in Voyager Server, for example
ArcGIS Server
ArcGIS Online
ArcGIS Geodatabase
MySQL
SQL Server
Oracle
Mongo DB
Dynamo DB
Use and create Python pipeline steps in both Voyager Server and Vose
Python Versions
Voyager Server requires a 32-bit version of Python 2.7, which can be downloaded here. At the time this document was created, the latest version is 2.7.15.
If you are running ArcGIS for Destkop, Python is likely already installed. Â
If Voyager and ArcGIS are installed on the same machine, there is no need to install Python, as both use 32-bit Python 2.7
If Voyager and ArcGIS Pro are installed on the same machine, Voyager's Python functions will not work, as ArcGIS Pro installs a 64-bit version of Python 3.6
While Python itself is not automatically installed, a large number of third-party 32-bit Python 2.7 libraries are included with Voyager and can be found in the \app\arch\win32_x86\py folder in the Voyager installation directory. These libraries are used by processing tasks, pipeline steps and connectors. To install additional libraries, we recommend using pip, which is included with newer versions of Python.
For more information about pip and Python 2.7, go to this page
For more information about pip and Python 3.6, go to this page
Python and Processing Tasks
Voyager Server includes a large set of out-of-the-box processing tasks for extracting data, managing data, creating maps and generating reports. Using Python, new tasks can be created to meet user requirements.
For complete information about the processing framework and tasks, see Processing OverviewÂ
To learn how to create new processing tasks for Voyager Server, see Adding Custom Processing TasksÂ
Python and Connectors
Voyager includes Connectors that it uses to scan a variety of databases using Python. These connectors can include some or all of the tables in a database.Â
For complete information and sample database configurations, see Indexing Databases - Overview
Python and Pipeline Steps
Voyager's Indexing Pipeline provides functions to add, transform and manipulate properties of data records as it adds them to the Index. You can also create custom pipeline steps using Python.
To learn how to create these steps, see Creating a Custom Pipeline Step using Python
Python and Natural language processing (NLP)
Voyager can use NLP to help find the most-relevant search results, and this functionality can be included in a pipeline step that uses Python.
For more information about NLP, see Voyager's Natural Language Processing Extension
Python and Extractors
During indexing, Extractors open data files and extract additional information before adding items to the Index. Extraction might involve reading text from a Word document or metadata tags from an image file. Voyager chooses the extractor based on the format (mime type) of the data. An Extractor can often operate on multiple related file types, and a particular type of file may have more than one associated Extractor.
You can create new Extractors using Python.
For more information, see Creating a Custom Extractor Using Python
Python and Vose
Vose is Voyager's newest product, consisting ofÂ
HQ, a central control panel for searching and administration
Distributed Indexing Agents
The Flex Index, based on SolrCloud
To learn more about Vose, see Introducing Vose
While Vose 1.0 supports using Python to create new connectors and pipelines, Python is not part of the Vose installation. Unlike Voyager Server, Vose does not require a specific version of Python, but we recommend using the latest 64-bit version of Python 3 when creating custom connectors and pipelines.
To learn how to create a custom connector with in HQ using Python,see Creating a Custom Python Connector in HQ
To learn how to create a custom pipeline step with in HQ using Python, see Creating a Custom Pipeline Step in HQ