0
我對使用to_tsquery和regconfig參數非常困惑。Postgres to_tsquery - 奇怪的結果
使用Windows上的PostgreSQL 9.0.2。
SELECT name_with_city
FROM company
WHERE name_with_city @@ to_tsquery('simple', 'aires|aires:*')
0 rows retrieved.
..這是正確的結果,但 :
SELECT name_with_city
FROM company
WHERE name_with_city @@ to_tsquery('english', 'aires|aires:*')
"Bel-Air Express Paris"
"Med-Air Miami"
"APS Air Parts Tel Aviv"
"Air Malta Luga"
"Air Nauru Melbourne"
...
542 rows retrieved.
似乎搜索「空氣」,而不是「布宜諾斯艾利斯」 ..我的理解是,由於在「英語」詞典..
但使用'簡單'並不總是工作。
SELECT name_with_city
FROM company
WHERE name_with_city @@ to_tsquery('simple', 'harms|harms:*')
0 rows retrieved.
這是不對的,但
SELECT name_with_city
FROM company
WHERE name_with_city ILIKE 'harms%'
"Harms & Wende Hamburg"
1 rows retrieved.
..是正確的。我不得不使用什麼查詢呢? 據我所知,我可以使用to_tsquery查找文本列中的部分詞語,例如:搜索「tech *」將發出「漢莎技術」和「技術航空」,但不是「Airtech」。
嘗試看結果ts_debug http://www.postgresql.org/docs/9.1/static/textsearch-debugging.html – 2011-12-21 21:44:11