SearchData Service Layer
This service handles all database operations related to searching entities
in the CommTool system. It provides both fulltext search and semantic search
capabilities using vector embeddings.
Key search types:
- Fulltext search: MySQL MATCH...AGAINST for keyword-based search
- Semantic search: Vector similarity search using AI embeddings
- Type-specific search: Filtered by entity type (member, person, group, etc.)
Database tables involved:
- ObjectBase: Core entity records
- Member: Display names and fulltext search indices
- Links: Entity relationships
- Visible: User visibility permissions
- Source:
Members
(static, constant) buildFilterClauses
Build filter clauses from query parameters
- Source:
(static, constant) buildVisibilityClause
Build visibility join clause based on user permissions
- Source:
(static, constant) reduceResult
Reduce results by removing duplicates based on UIDBelongsTo
- Source:
(static, constant) searchAllEntities
Search all entity types with fulltext search
- Source:
(static, constant) searchBySemantic
Search entities using semantic vector similarity
- Source:
(static, constant) searchExtern
Search external contacts with fulltext search
- Source:
(static, constant) searchGeneric
Search generic entities with fulltext search
- Source:
(static, constant) searchGroups
Search groups with fulltext search
- Source:
(static, constant) searchLists
Search lists with fulltext search
- Source:
(static, constant) searchMembers
Search members (persons, jobs, guests) with fulltext search
- Source:
(static, constant) searchPersons
Search persons with fulltext search
- Source: