Tôi đang cố chạy truy vấn fulltext bằng Postgresql có thể phục vụ cho các kết quả khớp một phần bằng cách sử dụng ký tự đại diện.Ký tự đại diện tiền tố Postgresql cho toàn văn
Có vẻ như đủ dễ dàng để có một ký tự đại diện bưu chính sau cụm từ tìm kiếm, tuy nhiên tôi không thể tìm ra cách chỉ định ký tự đại diện tiền tố.
Ví dụ, tôi có thể thực hiện tìm kiếm postfix dễ dàng đủ sử dụng một cái gì đó giống như ..
SELECT "t1".*
FROM "t1"
WHERE (to_tsvector('simple', "t1"."city") @@ to_tsquery('simple', 'don:*'))
nên trả lại kết quả phù hợp với "London"
Tuy nhiên tôi không thể dường như thực hiện tìm kiếm tiền tố như .. .
SELECT "t1".*
FROM "t1"
WHERE (to_tsvector('simple', "t1"."city") @@ to_tsquery('simple', ':*don'))
Lý tưởng nhất là tôi muốn có một wildcard tiền tố vào phía trước và kết thúc của cụm từ tìm kiếm một cái gì đó giống như ...
SELECT "t1".*
FROM "t1"
WHERE (to_tsvector('simple', "t1"."city") @@ to_tsquery('simple', ':*don:*'))
Tôi có thể sử dụng điều kiện LIKE tuy nhiên tôi đã hy vọng được hưởng lợi từ hiệu suất của các tính năng tìm kiếm toàn văn trong Postgres.
Theo hướng dẫn: http://www.postgresql.org/docs/current/static/textsearch-controls.html 'don: * ' ** là ** tìm kiếm * tiền tố *. Có thể bạn đang trộn tiền tố và tìm kiếm postfix? –