{"repo":"ubie-oss/esqa","free":true,"listed":false,"github":"https://github.com/ubie-oss/esqa","clone":"git clone https://github.com/ubie-oss/esqa.git","description":"Testing tool to verify the search qualities of the Elasticsearch indices","language":"Python","stars":29,"topics":["elasticsearch","search-relevance"],"license":"Apache-2.0","category":"workflow-automation","readme_excerpt":"Table of Contents Overview Install Behavior Functions Overview Esqa automates the checks the qualities of the Elasticsearch indices as the unit test frameworks such as RSpec or PyTests. Users add the test cases into the setting files and checks if the target indices is build as expected running the command esqa . Install Behavior When we run Esqa, the following steps are executed. 1. Submit Es query to an Elasticsearch cluster 2. Get the result ranking from Elasticsearch 3. Check if the rankings from Es cluster satisfy the conditions described in configuration file The following is the image. Functions Specifically esqa provides two functions, assertion and compute distance between rankings from two index and query settings. With assertion function, we can check if the results ranking satisfy the expectation for the specified queries. With distance function, we can see the queries which is much different from previous settings (index and query ). The successive sections, we see the assertion and distance functions. Assertion function Esqa provides the esqa command which check if the queries gets the expected search rankings from Elasticsearch indices. We run the esqa command specifying the configuration file and target index. Configurations Esqa has the settings file in which we add the test cases. The following is an example of the setting file of esqa. The setting file means that results from Elasticsearch clusters must satisfy the conditions defined in asserts block when w","default_branch":null,"files":null,"tree":[],"storefront":"/r/ubie-oss","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ubie-oss/esqa/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}