Overview of Eightfold search capability
The Eightfold search platform is a critical component of infrastructure across every product suite in our platform. We use search indexes across to enable quick retrieval of data across tables on a product and fast aggregations through facet queries.
This guide acts as a walkthrough on an overview of Eightfold's search capability. The intended audience for this guide are Recruiters, Sourcers, Eightfold Support team, and Implementation partners.
The basics
The Eightfold Search Engine enables users to find profiles and positions based on specific requirements of the situation. There are two primary use cases that the search capability fulfills:
- Search can be used to retrieve a very specific position or profile for review or pending action.
- Search can also be used as a custom filter to aggregate profiles that meet specific criteria.
Key features
Basic search queries
The following list presents examples of basic search queries using simple and more sophisticated syntax. It also describes the corresponding search results.
- "AND" operator: This operator retrieves positions/profiles that contain all the search terms. For example, the query "software AND engineer" retrieves profiles/positions that contain both the words "software" and "engineer".

Figure 1: "AND" operator search
- "OR" operator: This operator retrieves profiles/positions that contain any of the search terms. For example, the query "software OR engineer" retrieves profiles/positions that contain either the word "software" or the word "engineer" or both.

Figure 2: "OR" operator search
- "NOT" operator: This operator excludes profiles/positions that contain a particular search term. For example, the query "software NOT engineer" retrieves profiles/positions that contain the word "software" but do not contain the word "engineer".

Figure 3: "NOT" operator search
- "NEAR" operator: This operator retrieves profiles/positions where the search terms appear within a specified proximity of each other. For example, the query "software NEAR/3 engineer" retrieves profiles/positions where the words "software" and "engineer" appear within three words of each other.

Figure 4: "NEAR" operator search
- "AND NOT" operator: This operator combines the "AND" and "NOT" operators to exclude profiles/positions that contain a particular search term while requiring the presence of another search term. For example, the query "software AND NOT engineer" retrieves profiles/positions that contain the word "software" but do not contain the word "engineer".

Figure 5: "AND NOT" operator search
These operators can be combined to create more complex queries, allowing users to perform precise searches that return the most relevant results.
Complex search queries
The following list presents examples of complex search queries using complex syntax/boolean search queries and describes the corresponding search results that are returned.
1."software OR java OR SQL": This retrieves profiles/positions that contain at least one of the search terms "software", "java", or "SQL".

Figure 6: "software OR java OR SQL" search
2."software AND (engineer OR Technical)": This retrieves profiles/positions that contain the word "software" and either the word "engineer" or the word "Technical".

Figure 7: "software AND (engineer OR Technical)" search
3."software AND NOT (engineer OR Technical)": This retrieves profiles/positions that contain the word "software" but do not contain either the word "engineer" or the word "Technical".

Figure 8: "software AND NOT (engineer OR Technical)" search
4."title: software AND description:(engineer OR Technical)": This retrieves profiles/positions where the word "software" appears in the "title" field and either the word "engineer" or the word "Technical" appears in the "description" field.

Figure 9: "title: software AND description:(engineer OR Technical)" search
5."date:[2010-01-01 TO 2011-01-01]": This retrieves profiles/positions that were created between January 1, 2010 and January 1, 2011.

Figure 10: "date:[2010-01-01 TO 2011-01-01]" search
6."Experience: [10 TO 50]": This retrieves profiles/positions where the value of the "Experience" field is between 10 and 50.

Figure 11: "Experience: [10 TO 50]" search
These are just a few examples of the many different types of boolean search queries that can be constructed in EightFold.
Fuzzy searches
The Fuzzy Search Query creates a set of all possible variations, or expansions, of the search term within a specified edit distance. The following list presents examples of Fuzzy Search Queries:
- “~ software engineer”: In Eightfold queries, the tilde symbol "~" is used to perform fuzzy searches. A fuzzy search allows for approximate matches to be returned, rather than just exact matches.

Figure 12: Fuzzy search “~ software engineer”
- The syntax for a fuzzy search in Solr is to append the tilde symbol "" to the end of a search term, followed by a number that specifies the maximum edit distance allowed for the fuzzy match. For example, the query "color 2" would retrieve profiles/positions that contain words similar to "color" with up to 2 edit distances.

Figure 13: Fuzzy search “color 2” search
- The edit distance refers to the number of character changes required to turn one word into another. For example, the word "color" could be changed to "cooler" by replacing the "l" with an "e" and adding an "e" at the end, resulting in an edit distance of 2.
- Fuzzy searches can be useful when searching for words that may have typographical errors, misspellings, or alternative spellings. However, they can also produce more results than expected, including some irrelevant ones.
Wildcard search
This section describes the results you may receive when using wildcard search, demonstrating what happens when using an asterisk (*) in various permutations and combinations. We do not recommend using wildcard search with Eightfold search.
In the following scenarioes, we use "rech" as the search query. When there is no asterisk, this is not a wildcard search, and the search results will first output results with the word ‘rech’ as a standalone. Once exhausted, the search includes results where "rech" is a part of the name or word in the profile
Scenario 1: Asterisk at the end
In this example, the search query is "rech*". The search results will first output results starting with the word "rech", and once exhausted will start showing results where "rech" is a part of the name or word in the profile. Unlike in the scenario without wildcard search, there is no preference for terms with "rech" as a standalone word.
Scenario 2: Asterisk at the end and the beginning
In this example, the search query is "*rech*". The search results will first output results where "rech" is a part of the name or word in the profile. Unlike in the scenario without wildcard search, there is no preference for terms with "rech" as a standalone word.
Scenario 3: Asterisk at the beginning - search query : *rech
In this example, the search query is "*rech". The search results will first output results ending with the word "rech" and once exhausted will start showing results where "rech" is a part of the name or word in the profile. Unlike in the scenario without wildcard search, there is no preference for terms with "rech" as a standalone word.
Comparing global search and pipeline search
- Global search retrieves positions and profiles within the entire data available within the organization’s history.
- Pipeline search only retrieves profiles within the workflow of a particular open position.
Eightfold Search best practices
The following are the best search recommendations:
- Don't use generic skills like teamwork or efficiency while preparing the search query. Instead, use them as part of the search filters. Use the search query for more specific skills.
- Remove unnecessary filters and create a new view for a faster search.
- Use a combination of titles and skills to get better results.
- A combination of search and match scores gives an ideal outcome.
Frequently asked questions
Why do we need search?
A search engine is a software program that helps users to find profiles and positions based on specific requirements of the situation.
- Search can be used to retrieve a very specific position or profile for review or pending action.
- Search can also be used as a custom filter to aggregate profiles that meet specific criteria.
Why its not ok to use the keyword "OR" with conditional operator OR?
Usually, multiple words with *OR * at the beginning or end of a keyword would be considered as a conditional clause and not the text.
If we need to use a keyword of the pattern OR xxx (xxx OR), kindly use (or, Or, oR) instead of OR. Please see the below screenshot for your reference.
In the following image, “Operating room OR OR” is excluded as it was not displaying any leads because of the keyword OR.
