# Text Search

# Text Search

Text search in Curiosity Workspace provides fast keyword-based retrieval over selected fields, plus filtering and ranking controls suitable for production search experiences.

# When to use text search

Text search is ideal when users:

  • search by identifiers (IDs, codes, serial numbers)
  • know relevant keywords
  • expect predictable matching on short fields (names, titles)

# What to index

Index fields that users type into the search box:

  • titles / names
  • summaries
  • identifiers
  • short descriptions

Avoid indexing every field by default; start with the user-facing fields and expand based on search analytics.

# Ranking model (conceptual)

Text retrieval typically uses term-based ranking (e.g., BM25-style scoring). In practice, relevance is tuned by:

  • field boosts (title counts more than body)
  • filters and scoping (type, time, permissions)
  • sort modes (recency-first, relevance-first, domain-specific sorts)

# Filters and facets

Curiosity Workspaces commonly support:

  • type facets (restrict results to certain node types)
  • property facets (status, priority, category)
  • related facets (filters derived from graph relationships)
  • time filters (for event-like data)

The key best practice is to align facets with real user refinement behavior.

# Common pitfalls

  • Over-indexing: indexing too many fields increases noise and cost.
  • Under-boosting key fields: if titles are not boosted, long bodies can dominate.
  • Not separating types: mixing entity types without strong facets makes search confusing.

# Next steps