Debugging a search query
Case Study: On app.eightfold.ai/careers a candidate searched for “French” in search widget and is shown jobs with job descriptions that do not contain the “French” keyword. The Eightfold matching algorithm is so comprehensive that it goes beyond just the job description and was able to recommend jobs using the skill set of ideal candidates. Here ae the steps to debug:
Verify that the positions returned are accurate with the database by running a SOLR query: https://stage.eightfold.ai/internal/solr/query?search_index=positions&group_id=volkscience.com&q=French&fq=position.type%3Aats+AND+is_posted%3A1+AND+position.ats_status%3AOpen&number_of_rows=10&fl=*&facet_fields=&additional_params=&facet_limits=10&sort=&sort_order=+asc&shard_id=&replica=replica
Run same SOLR query with additional args (debug = 1) to get more information.
In around Line 15 of the SOLR query output, within the “explain” key you will find the various positions (and their IDs) along with why the search infra retrieved those jobs.
In all three of the positions, the highest weighted reason was _text_. What _text_ is defined in a schema in the codebase and contains a variety of information about the position.
This in-depth information about the position can be found in the internal models by searching for that position id: https://stage.eightfold.ai/models?terms=68726690375&model=indexed_position
Here you will find a lot of additional information stored in a dictionary that goes beyond the job description. In this case you can find that each of the three retrieved jobs had “French” as a “similar_candidate_skills”. These positions were retrieved because other strong candidates in the past also had fluency in “French”. This information is not shown in the job description.