我试图从我的PostgreSQL数据库中获取字数以生成单词云类型视图。我希望利用ts_vectors的内置效率。我看到有一个ts_stats函数,它返回一个lexemes列表及其频率,给定一个ts_vector列。
返回的行看起来像这样:
word ndoc nentry
studi 322 43434
compani 233 2322
查询如下:
SELECT * FROM ts_stat('SELECT tsv from doc')
ORDER BY nentry DESC, ndoc DESC, word
LIMIT 10
但是,我需要全文,而不仅仅是词汇。有没有办法将lexeme转换为PostgreSQL的全字表示之一?您可以轻松地将单词转换为其词汇,但我无法弄清楚如何反向。
感谢。
答案 0 :(得分:1)
将ts_vector的配置更改为“简单”。默认是“英语”,它起作用 e.g。
SELECT * FROM ts_stat('SELECT to_tsvector(''freds company company company hello ridiculous'')');
输出ridicul, compani, hello, fred
不会出现词干
SELECT * FROM ts_stat('SELECT to_tsvector(''simple'',''freds company company company hello ridiculous'')');
输出计数:ridiculous,hello,freds,company
答案 1 :(得分:-1)
这是不可能的。您可以将初始文本存储到单独的列中。
词汇是单词的规范化表示(使用字典或词干),因此它可以匹配多种形式:lexeme 'walk'
匹配'walks'
和'walking'
,因此原始形式无法确定。