Story 1.1.1.5. CRM. Company. Advanced search logic operators

Content

General info

Enhance the CRM system to support advanced search functionality using Boolean operators. This feature will allow users to perform complex searches with AND, OR, and NOT operators for more precise filtering of candidates and vacancies. By default, the search field will use "AND" between terms unless specified otherwise by the user. When multiple options are selected within a single filter category (e.g., multiple skills), the system will use "OR" to combine those options.

Requirements:
  1. Default Search Behavior:

    • The main search field will use "AND" by default for all search terms entered if no Boolean operators are specified.

    • When multiple options are selected within a single filter category, use "OR" to combine those options.

    • Example (English): Typing "Java Berlin English" will be interpreted as Skill: Java AND Location: Berlin AND Language: English.

    • Example (German): Typing "Java Berlin Englisch" will be interpreted as Fähigkeit: Java UND Ort: Berlin UND Sprache: Englisch.

  2. Boolean Operator Support:

    • Users can include AND, OR, and NOT operators in the main search field to create more complex queries.

    • Example (English): Typing "Java OR Python AND Berlin NOT Junior" will be interpreted as (Skill: Java OR Skill: Python) AND Location: Berlin AND NOT Title: Junior.

    • Example (German): Typing "Java ODER Python UND Berlin NICHT Junior" will be interpreted as (Fähigkeit: Java ODER Fähigkeit: Python) UND Ort: Berlin UND NICHT Titel: Junior.

  3. Automatic "OR" for Multiple Selections:

    • When multiple options are selected within a single filter category, use "OR" to combine those options. (as default)

    • When options from different categories are selected, use "AND" to combine those options. (as default)

    • Example (English): Selecting "Skills: Java, Python" and "Location: Berlin, Munich" will be interpreted as (Skill: Java OR Skill: Python) AND (Location: Berlin OR Location: Munich).

    • Example (German): Selecting "Fähigkeiten: Java, Python" and "Ort: Berlin, München" will be interpreted as (Fähigkeit: Java ODER Fähigkeit: Python) UND (Ort: Berlin ODER Ort: München).

  4. Advanced Search Interface:

    • Provide an "Advanced Search" option where users can manually input Boolean expressions using AND, OR, and NOT operators.

    • Include fields for Categories, Skills, Degree, Locations, and Languages.

    • Allow nested queries for more complex searches.

    • Provide a user-friendly query builder tool for constructing Boolean queries.

    • Ensure the interface is available in both German and English, based on the user’s language settings

User story

As a CRM user,
I want to use advanced search operators such as OR, AND, and NOT,
So that I can refine and filter search results more precisely.

Visual design:

 https://www.figma.com/design/I5CXH7H3ICD0vfA1kPbcVf/ROCKEN-jobs-%2F-talent?node-id=54742-5687&t=PssUht2sdMTpekdf-4

 

 

Acceptance criteria

 

01

Scenario: Search limited to specific fields for Company Search
Given a user is performing a search in the CRM
When the search is conducted
Then the search should find information only in the following fields:

  • Name

  • Rocken Contact

  • Industry

  • Publication Description

  • Overview

  • About

  • Mission and Values

  • History

  • Career Opportunities

  • Staff Name

  • Staff Email

  • Staff Phone

02

Scenario: Default AND search behavior
Given I am in the search bar,
When I type multiple terms (e.g., "Java Berlin English"),
Then the system interprets the terms as "Skill: Java AND Location: Berlin AND Language: English" and filters candidates or vacancies accordingly.

 

image-20241018-054226.png

03

Scenario: Default OR behavior within a single filter category
Given I select multiple options within the same filter category (e.g., Skills: Java, Python),
When I apply the filters,
Then the system uses "OR" to combine these options and shows results that match either skill (Skill: Java OR Skill: Python).

 

04

Scenario: Using AND in the search field
Given I am in the search bar,
When I type a query with AND (e.g., "Java AND Python AND Berlin"),
Then the system returns results where both skills (Java AND Python) and the location (Berlin) match.

 

05

Scenario: Using OR in the search field
Given I am in the search bar,
When I type a query with OR (e.g., "Java OR Python"),
Then the system returns results that match either skill (Skill: Java OR Skill: Python).

06

Scenario: Using NOT in the search field
Given I am in the search bar,
When I type a query with NOT (e.g., "Java AND Berlin NOT Junior"),
Then the system returns results that match Java AND Berlin but exclude those with the title Junior.

07

Scenario: Using nested Boolean expressions
Given I am in the search bar,
When I type a query using a combination of AND, OR, and NOT (e.g., "Java OR Python AND Berlin NOT Junior"),
Then the system returns results that match (Skill: Java OR Skill: Python) AND Location: Berlin AND NOT Title: Junior.

08

Scenario: Multiple filters in different categories
Given I select multiple options from different filter categories (e.g., Skills: Java, Python and Location: Berlin, Munich),
When I apply the filters,
Then the system uses "AND" between categories and "OR" within categories, returning results matching (Skill: Java OR Skill: Python) AND (Location: Berlin OR Location: Munich).

09

Scenario: Advanced Search interface
Given I click on the "Advanced Search" option,
When I input Boolean expressions manually,
Then the system allows me to use AND, OR, and NOT operators for more precise searches.

10

Scenario: User-friendly query builder tool
Given I am on the Advanced Search interface,
When I use the query builder tool,
Then I can construct Boolean queries without needing to manually type the operators, with options to select Categories, Skills, Degree, Locations, and Languages.

11

Scenario: Language-based interface
Given I have my CRM interface set to either English or German,
When I access the search bar,
Then the Boolean operators and search results are displayed in the selected language (e.g., Java AND Berlin for English or Java UND Berlin for German).

12

Scenario: No matching results with Boolean operators
Given I enter a complex query using AND, OR, or NOT,
When no results match my query,
Then the system displays a message stating "No results found" and suggests refining the search.

image-20241018-054339.png

13

Scenario: Tooltip for Boolean search instructions
Given I hover over or click on a help icon near the search bar,
When I view the tooltip,
Then I see a guide explaining how to use AND, OR, and NOT operators, with examples in both English and German.

image-20241018-054415.png

14

OOS Scenario: Saving advanced search queries
Given I have created an advanced Boolean search query,
When I want to reuse the query,
Then I have the option to save the search for future use, including the complex Boolean logic.

Comments

Leave a Reply