> ## Documentation Index
> Fetch the complete documentation index at: https://docs.recruitier.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search & Matching FAQ

> Common questions about job search, AI candidate matching, semantic search, and search results.

## Search & Matching Questions

<AccordionGroup>
  <Accordion title="How does AI matching work?">
    Recruitier's AI matching system works in five stages:

    **1. Profile Analysis** -- When you upload a candidate's CV, the AI extracts their
    skills (with confidence scores), experience level, job preferences, location, and
    salary expectations. This creates a structured profile that the matching engine can
    compare against job listings.

    **2. Search Parameter Generation** -- The AI builds optimized search parameters from
    the candidate's profile, creating queries that capture both exact matches and
    semantically related roles.

    **3. Job Database Scan** -- The system searches using both keyword matching and
    semantic search (vector embeddings). This ensures results include jobs with different
    wording but the same meaning.

    **4. Preference Filtering** -- Results are filtered against the candidate's preferences:
    location radius, salary range, job type (full-time, part-time, contract), and
    flexibility (remote, hybrid, on-site). Jobs outside these preferences are excluded.

    **5. Match Scoring** -- Each remaining job receives a match score using a weighted
    formula:

    * **Title relevance**: 35% -- How well the job title matches the candidate's role
    * **Skills alignment**: 45% -- Overlap between confirmed skills and job requirements
    * **Experience fit**: 20% -- Whether seniority and years of experience align

    Jobs are then categorized as Excellent Match (strong alignment), Good Match (moderate
    alignment), or Poor Match (weak alignment). The AI also generates a written explanation
    for each match, describing why it matches and listing any concerns.

    The entire pipeline typically completes in 30-60 seconds and delivers results via
    real-time SSE notification.
  </Accordion>

  <Accordion title="Why doesn't my search return certain jobs?">
    Several factors can affect which jobs appear in your search results:

    * **Job availability** -- Recruitier scrapes job listings from external sources
      (LinkedIn, Indeed, and others). If a job was posted on a source that Recruitier
      does not cover, or if it was removed before Recruitier could index it, it will
      not appear.
    * **Search criteria** -- Your keyword, location, experience level, and job type
      filters determine which jobs are included. If your criteria are too narrow, some
      relevant jobs might be filtered out. Try broadening your search or using fewer
      filters.
    * **Timing** -- New jobs are indexed continuously (multiple times per day), but there
      can be a short delay between when a job is posted and when it appears in
      Recruitier's database.
    * **Deduplication** -- If the same job appears on multiple sources, Recruitier
      deduplicates it to show you one clean result. This means you might not see
      what appears to be a missing job, when in fact it was merged with a duplicate.
    * **AI classification** -- The AI may classify a borderline job differently than
      you would. If you think relevant jobs are being classified as poor matches,
      provide feedback through the match interface to improve future results.
    * **Location filtering** -- If the candidate's location radius is set too narrowly,
      good jobs just outside the radius are excluded. Consider increasing the radius.
  </Accordion>

  <Accordion title="How often is the job database updated?">
    Recruitier's job database is updated **continuously**. Job scrapers run on a
    regular schedule to index new listings from all supported sources.

    Here is the typical update frequency:

    * **LinkedIn jobs** -- Scraped multiple times per day
    * **Indeed jobs** -- Scraped multiple times per day
    * **Other sources** -- Varies by source, but typically at least once per day

    New jobs appear in search results as soon as they are indexed and classified.
    Existing jobs that have been removed from the source are also cleaned up
    periodically to keep your results current.

    The scraping infrastructure runs 24/7, so new jobs can appear at any time --
    including overnight. This means you might wake up to new matches for your
    candidates every morning. Monitored searches automatically re-run and notify
    you when new relevant jobs are found.
  </Accordion>

  <Accordion title="What does the match score percentage mean?">
    The match score is a numerical representation (0-100%) of how well a candidate
    aligns with a specific job. It is calculated using three weighted factors:

    | Factor               | Weight | What It Measures                                                      |
    | -------------------- | ------ | --------------------------------------------------------------------- |
    | **Title relevance**  | 35%    | How well the job title matches the candidate's current or target role |
    | **Skills alignment** | 45%    | Overlap between the candidate's confirmed skills and job requirements |
    | **Experience fit**   | 20%    | Whether seniority and years of experience match                       |

    General score ranges:

    * **90-100%** -- Excellent match. Strong fit across all dimensions.
    * **70-89%** -- Good match. Relevant qualifications with some minor gaps.
    * **50-69%** -- Moderate match. Worth reviewing but has notable differences.
    * **Below 50%** -- Poor match. Significant mismatches in one or more areas.

    Keep in mind that the score is a guideline, not an absolute judgment. A candidate
    with a 70% score might still be perfect for a role if the factors that are "off"
    are not critical (e.g., the title is slightly different but the skills are a perfect
    match). Always read the AI's written explanation alongside the score.
  </Accordion>

  <Accordion title="Can I improve match accuracy?">
    Yes, there are several ways to improve the quality of AI matches:

    **1. Confirm and refine candidate skills** -- Since skills carry 45% of the match
    weight, accurate skills have the biggest impact. Review AI-extracted skills carefully,
    remove irrelevant ones, and add missing skills. Pay attention to confidence scores --
    lower confidence skills may need verification with the candidate.

    **2. Use specific search criteria** -- Broad searches produce more results but
    lower average match quality. Narrow your keywords, specify location with a reasonable
    radius (30-50 km), set experience level, and choose the right job type to focus the
    AI on truly relevant listings.

    **3. Give feedback on results** -- When you favorite or reject job matches, the
    AI learns from your decisions. Over time, this feedback loop improves the
    relevance of future matches for that candidate and for similar candidate
    profiles.

    **4. Keep candidate profiles updated** -- If a candidate acquires new skills,
    changes location preferences, or adjusts salary expectations, update their
    profile. Outdated profiles lead to outdated matches.

    **5. Set accurate preferences** -- Location radius, salary range, job type, and
    flexibility preferences all act as filters. If these are wrong, good jobs get
    filtered out.

    **6. Review match explanations** -- The AI provides a written explanation for each
    match. Reading these helps you understand why certain jobs scored higher or lower,
    and what adjustments might improve results.
  </Accordion>

  <Accordion title="How are jobs sourced?">
    Recruitier sources job listings from multiple external platforms:

    * **LinkedIn** -- One of the largest professional job boards, especially strong
      in the Netherlands
    * **Indeed** -- A major job aggregator with extensive Dutch listings
    * **Other sources** -- Additional job boards and company career pages are
      indexed as they become available

    The scraping infrastructure continuously monitors these sources for new
    listings. When a new job is found, it goes through the following pipeline:

    1. **Extraction** -- The job title, description, location, company, salary, and other
       details are extracted from the source
    2. **Deduplication** -- The job is compared against existing listings to avoid
       duplicates across sources
    3. **Classification** -- The AI analyzes the job to determine its category,
       experience level, job type, and flexibility
    4. **Company enrichment** -- The hiring company is matched against Recruitier's
       company database to add industry, size, and hiring activity information
    5. **Indexing** -- The job is added to the searchable database (both keyword and
       vector/semantic indexes) and becomes available in search results

    This entire pipeline runs automatically without any input from you.
  </Accordion>

  <Accordion title="Why are some companies excluded from client search?">
    Recruitier automatically excludes **staffing and recruiting agencies** from client
    search results. This is by design.

    The reasoning is straightforward: when you search for potential clients, you are
    looking for companies that need recruitment services -- not your competitors.
    Showing other recruitment agencies in your client discovery results would create
    noise and waste your time.

    The exclusion applies to companies classified in the "Staffing and Recruiting"
    industry. Companies without an industry classification are still shown in results,
    as they might be potential clients that simply have not been classified yet.

    This filter is applied automatically to:

    * Client company search results
    * Industry filter dropdowns
    * Any feature that lists or searches companies for business development purposes

    If you believe a company has been incorrectly classified as a staffing agency,
    contact support and we can review the classification.
  </Accordion>

  <Accordion title="How does semantic search differ from keyword search?">
    **Keyword search** looks for exact or near-exact word matches. If you search for
    "Python developer," it only returns jobs that contain those exact words or very
    close variations.

    **Semantic search** (which Recruitier uses alongside keyword search) understands the
    meaning behind words. It recognizes that:

    * "Python developer" and "Python software engineer" mean the same thing
    * "Full-stack developer" might be relevant to someone searching for "frontend
      engineer"
    * "Senior backend developer" is related to "experienced server-side programmer"
    * "Data scientist" is related to "machine learning engineer"

    Recruitier uses vector embeddings stored in a dedicated vector database (Qdrant) to
    represent jobs and candidate profiles as mathematical vectors. Similar concepts end up
    close together in this vector space, allowing the system to find relevant matches even
    when the exact keywords do not overlap.

    In practice, this results in:

    * Fewer missed opportunities (jobs with different wording but same meaning)
    * More relevant results overall
    * Less time spent tweaking search terms to find what you need
    * Better matching for niche or unconventional job titles
  </Accordion>

  <Accordion title="Can I search for jobs in specific industries?">
    Yes. When creating a job search or using client discovery, you can filter by
    industry. Recruitier maintains a database of companies with industry
    classifications (based on LinkedIn industry categories), and these classifications
    are used to filter search results.

    For **job search**, you can filter by:

    * Keywords (which naturally narrow to relevant industries)
    * Location and radius
    * Experience level
    * Job type (full-time, part-time, contract)
    * Flexibility (remote, hybrid, on-site)

    For **client discovery**, you have more granular industry filters:

    * Select one or more industries from the filter dropdown
    * Combine with location, company size, and hiring activity filters
    * Use skills/technology filters to find companies using specific tools

    The industry classifications are continuously updated as new company data is
    enriched from LinkedIn and other sources.
  </Accordion>

  <Accordion title="What happens if I run the same search twice?">
    Running the same search again will re-scan the job sources with your criteria.
    You may see:

    * **New results** -- Jobs that were posted since your last search
    * **Previously seen results** -- Jobs you already reviewed from the earlier
      search
    * **Removed results** -- Jobs that have been taken down from the source since
      your last search

    Recruitier tracks which jobs you have already seen, favorited, or rejected. When
    results from a repeated search include jobs you already interacted with, their
    status is preserved. You will not lose your favorites or have to re-reject
    previously dismissed jobs.

    To save time and credits, consider using **monitored searches** instead of
    manually re-running searches. Monitored searches automatically re-run on a
    schedule and notify you only when new results appear.

    You can also **clone searches** to create variations of an existing search
    without rebuilding from scratch.
  </Accordion>

  <Accordion title="What is the difference between a smart search and an internal search?">
    **Smart search** actively scans external job sources (LinkedIn, Indeed) for new
    listings matching your criteria. Smart searches are free and find the freshest
    listings from across the web.

    **Internal search** searches only within jobs that have already been indexed in
    Recruitier's database. It is also **free** and returns results instantly from
    the existing data. Internal search is useful for:

    * Quickly finding jobs from the existing database
    * Finding jobs that were indexed by other users' searches
    * Quick lookups when you know the type of job you want

    For the most comprehensive results, use a smart search. To conserve credits, start
    with an internal search and only run a smart search if the internal results are
    insufficient.
  </Accordion>

  <Accordion title="How does the feedback system improve matches?">
    When you interact with match results -- favoriting good matches and rejecting poor
    ones -- the AI learning system uses this feedback to improve future results:

    * **Favoriting** a job tells the AI that this type of match is desirable. The system
      learns which combination of title, skills, company type, and experience level you
      consider a good fit.
    * **Rejecting** a job tells the AI that this match was not relevant. The system learns
      what to deprioritize in future results.

    This feedback is applied at two levels:

    1. **Candidate-specific** -- Improves matches for that specific candidate
    2. **Pattern-based** -- Improves matches for similar candidate profiles

    Consistently providing feedback is the single most effective way to improve match
    quality over time. Even a few favorites and rejections per candidate can meaningfully
    shift the relevance of future results.
  </Accordion>
</AccordionGroup>
