Tokenize text for the FTS inverted index. Extracts lowercase alphanumeric words of length >= 3, filtering out stop words (common English + programming terms) that match too many nodes to be useful for ranking.
(text: &str)
| 731 | /// stop words (common English + programming terms) that match too many |
| 732 | /// nodes to be useful for ranking. |
| 733 | pub fn tokenize_for_fts(text: &str) -> Vec<String> { |
| 734 | text.split(|c: char| !c.is_alphanumeric() && c != '_') |
| 735 | .filter(|w| w.len() >= 3) |
| 736 | .map(|w| w.to_lowercase()) |
| 737 | .filter(|w| !FTS_STOP_WORDS.contains(&w.as_str())) |
| 738 | .collect() |
| 739 | } |
| 740 | |
| 741 | /// Encode an embedding key as "path\0chunk_idx". |
| 742 | #[inline] |