use anyhow::{Context, Result};
use momentry_core::core::db::{Database, PostgresDb};
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 test_queries = vec!["团体", "视频", "文件"];

    for query_str in test_queries {
        println!("\n🔍 測試查詢 (簡體): '{}'", query_str);

        // 顯示轉換後的 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, 5).await?;
        println!("  找到 {} 筆結果", results.len());
        for (i, r) in results.iter().enumerate() {
            println!("    {}. [{}] {}", i + 1, r.uuid, r.text);
        }
    }

    Ok(())
}
