- Remove unused imports (n8n_search, universal_search, Client, Arc, etc.) - Update API endpoints for identity, face recognition, search - Fix postgres_db.rs search_videos parent_uuid column - Add snapshot API and identity agent API - Clean up backup files (.bak, .bak2)
57 lines
1.7 KiB
Rust
57 lines
1.7 KiB
Rust
use anyhow::{Context, Result};
|
|
use momentry_core::core::db::{Database, PostgresDb};
|
|
use momentry_core::core::text::tokenizer::{contains_chinese, tokenize_chinese_text};
|
|
use momentry_core::core::text::{global_synonym_expander, normalize_chinese_query};
|
|
use std::env;
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<()> {
|
|
env::set_var("RUST_LOG", "info");
|
|
|
|
println!("=== 同義詞擴展測試 ===\n");
|
|
|
|
// 初始化 PostgreSQL
|
|
let pg = PostgresDb::init()
|
|
.await
|
|
.context("Failed to initialize PostgreSQL database")?;
|
|
|
|
let expander = global_synonym_expander();
|
|
|
|
// 測試查詢
|
|
let test_queries = vec![
|
|
"電腦",
|
|
"視頻",
|
|
"分析",
|
|
"工作",
|
|
"檔案",
|
|
"電腦工作",
|
|
"工作檔案",
|
|
];
|
|
|
|
for query_str in test_queries {
|
|
println!("\n🔍 測試查詢: '{}'", query_str);
|
|
|
|
// 顯示同義詞擴展
|
|
if contains_chinese(query_str) {
|
|
let normalized = normalize_chinese_query(query_str);
|
|
let expanded = expander.expand_chinese_query(&normalized);
|
|
println!(" 同義詞擴展: {}", expanded);
|
|
}
|
|
|
|
// 顯示轉換後的 tsquery
|
|
match pg.prepare_tsquery(query_str).await {
|
|
Ok(tsquery) => println!(" TSQUERY: {}", tsquery),
|
|
Err(e) => println!(" TSQUERY 錯誤: {}", e),
|
|
}
|
|
|
|
// 執行搜索(即使沒有結果)
|
|
let results = pg.search_bm25(query_str, None, 2).await?;
|
|
println!(" 找到 {} 筆結果", results.len());
|
|
for (i, r) in results.iter().enumerate() {
|
|
println!(" {}. [{}] {}", i + 1, r.uuid, r.text);
|
|
}
|
|
}
|
|
|
|
Ok(())
|
|
}
|