Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

PyQPL

Accenture Search & Content Analytics

PyQPL is a search-engine agnostic domain specific scripting language for constructing complex search engine queries. It's output can be rendered into query languages for multiple search engines.


Warning

UNDER DEVELOPMENT

PyQPL (Python Query Processing Language) is a scripting language which allows you to easily construct very complex queries.


The key features are:

  • Engine agnostic: The main goal of PyQPL is the standardization of queries, regardless of the end search engine.
  • Query parsing: PyQPL implements LARK, a parsing toolkit which allows the parsing of any written text, using a provided grammar. For this case we created a custom query grammar using a LALR parser, to process and detect the operators and their values.
  • Manual query building: If parsing a query is not the goal of your task, PyQPL also supports the manual creation of queries.
  • Query translation: Translation of all PyQPL queries to an engine specific query using a translator (Currently just Elasticsearch). More translators can be created using the AbstractTransformer class.
  • Saga coupling: Keyword normalization, synonym expansion and special case query manipulation, via Saga server coupling
  • Synonym expansion: Native synonym expansion, via lambda call injection; making the retrieval and manipulation of the synonyms an external process, and only focusing on the query synonym injection.
  • Support for custom operators: Creation of custom operators, by using the Operator class, or just declaring it's type directly in the query. And custom operator translation via lambda function injection into the translator. 

    Note

    This functionality is only available in manual query Building

Tip
titleWelcome to your new space!

Confluence spaces are great for sharing content and news with your team. This is your home page. Right now it shows recent space activity, but you can customize this page in any way you like.

Complete these tasks to get started

  •  Edit this home page - Click Edit in the top right of this screen to customize your Space home page
  •  Create your first page - Click the Create button in the header to get started
  •  Brand your Space - Click Configure Sidebar in the left panel to update space details and logo
  •  Set permissions - Click Space Tools in the left sidebar to update permissions and give others access

Recent space activity

Recently Updated
typespage, comment, blogpost
max5
hideHeadingtrue
themesocial

Space contributors

Contributors
modelist
scopedescendants
limit5
showLastTimetrue
orderupdate