单词具有相同的开头时的全文搜索

时间:2017-01-05 17:31:08

标签: postgresql full-text-search

我是全文搜索引擎的新手,我有一个充满法语和英语单词的表格,但是当我尝试实现请求时,我遇到了一些奇怪的问题。目标是做一个自动完成的搜索引擎。目前在哪里可以使用ILIKE,但我听说它不具备可扩展性'

我们说我有一张书桌:

CREATE TABLE t_books (
    title TEXT
);

INSERT INTO t_books VALUES('Admin');
INSERT INTO t_books VALUES('Administratif');

INSERT INTO t_books VALUES('Adminare');-- no french words
INSERT INTO t_books VALUES('Admininids');
INSERT INTO t_books VALUES('Admin2');

当我运行此查询时:

SELECT  b_id
FROM (
    SELECT title as b_id,
       to_tsvector('french',title) as document
     FROM   t_books
) p_search
WHERE p_search.document @@ to_tsquery('french','admin');

有了这些,我得到了所有5行,但是通过这个查询,这只会返回" Admin"。

然而,看起来英语单词的效果更好(上面的单词是法语和英语,例如标题' book',' booking',& #39;已预订&#39 ;;当我查找图书时,它会返回3行。

http://rextester.com/RKNE72921

那里有什么问题?是否在词典中缺少法语单词?

0 个答案:

没有答案