Download and install Python, currently version 3.11.2, except for Windows which currently can manage 3.9.X due to a C compilation issue with a dependency
Info |
---|
The new backend of the Enterprise Search is built in Python, using Fast API, which allow us to maintain a structure like ExpressJs, but with a better understanding and on-the-fly documentation with Swagger UI and Redoc You can see more about the features of Fast API here |
Note |
---|
Windows currently has issues with xmlsec library, And it only supports Python 3.9.x |
Note |
---|
Disable the path length limit to prevent issues in windows environment |
Tip |
---|
Connection to Accenture's VPN is required |
Clone the project from the repository
Code Block |
---|
git clone https://source.digital.accenture.com/scm/st/search-api.git |
Verify the current brach executing the command below, it should be main
Code Block |
---|
git branch |
If the branch wasn't main, checkout the main branch:
Code Block |
---|
git checkout main |
Create a branch to work on, using the branch folder assigned <branch_folder>/develop (we recommend using develop as your working branch)
Code Block |
---|
git checkout -b <branch_folder>/develop |
We recommend the creation of a virtual environment to prevent python dependencies conflicts, is also helpful if you have multiple versions of python in the same machine
Column | ||
---|---|---|
| ||
|
Column | ||
---|---|---|
| ||
or |
Column | ||
---|---|---|
| ||
|
If you want to name you virtual environment test then the command would look like this
Column | ||
---|---|---|
| ||
|
Column | ||
---|---|---|
| ||
or |
Column | ||
---|---|---|
| ||
|
Activate Virtual Environment
To use your virtual environment you need to activated, the activation command changes depending on your OS
For Windows
Code Block |
---|
{name_of_your_venv}\Scripts\activate.bat |
For Unix or macOS, run:
Code Block |
---|
source {name_of_your_venv}/bin/activate |
Note | ||
---|---|---|
If using a bash console on Windows, then you have to execute
|
Following the example of the venv named test, the commands would look like this:
Windows
Code Block |
---|
test\Scripts\activate.bat |
Unix or macOS:
Code Block |
---|
source test/bin/activate |
If you are working on Windows you may need to download Build Tools for Visual Studio and install the Universal Windows Platform build tools (Probably will require Admin rights). Unix bases OS should have any issues
Once the virtual environment is activates (if you did one, otherwise is the same process), install the dependencies stored in the pyproject.toml. To install them execute the following command:
Code Block |
---|
pip install -e . |
If that didn't work try
Column | ||
---|---|---|
| ||
|
Column | ||
---|---|---|
| ||
or |
Column | ||
---|---|---|
| ||
|
If none of the previous commands worked, try looking at this troubleshooting article.
Tip |
---|
If you have installed new python dependencies, you may to update the pyproject.toml, with the latest changes |
Same as above, but additionally it will install development dependencies necessary for testing a server mocking
Code Block |
---|
pip install -e '.[test]' |
After the installation is successful, proceed to install PyQPL
Code Block |
---|
pip install lib/pyqpl-VERSION_IN_PROJECT-py3-none-any.whl |
Tip |
---|
Is better is you write lib/pyqpl and then let the autocomplete of the terminal write the rest of the file |
PyQPL is our proprietary dependency, is a versatile scripting language that simplifies the construction of complex queries. It offers engine agnosticism, query parsing, manual query building, query translation, Saga coupling for advanced processing, synonym expansion, and support for custom operators. With PyQPL, you can write standardized queries irrespective of the underlying search engine, making it flexible and efficient for query processing tasks.
Is already seamlessly integrated into the Query Stage, and can be enable or disabled as need it, probably if you are working or had work with Search API previously, have used PyQPL without notice.
Info |
---|
If any issue raises or a feature is required please don't hesitate to contact the development team |
In case you need to upgrade the version of pyqpl, we recommend to uninstall the current library using the command
Code Block |
---|
pip uninstall pyqpl |
Delete the whl file and replace it with the new one, and use the same command as above to install the new one
Note |
---|
In order to startup the server the Non-SQL engine needs to be up and running, and the connection to it must setup in the Configuration |
In root folder execute
Column | ||
---|---|---|
| ||
|
Column | ||
---|---|---|
| ||
or |
Column | ||
---|---|---|
| ||
|