PostgreSQL-通过ts_stat将词素转换为完整单词
我试图从我的PostgreSQL数据库中获取单词数以生成单词云类型视图。我希望利用ts_向量的内置效率。我看到有一个ts_stats函数,它返回给定ts_向量列的词素列表及其频率 返回的行如下所示:PostgreSQL-通过ts_stat将词素转换为完整单词,postgresql,text,tsvector,Postgresql,Text,Tsvector,我试图从我的PostgreSQL数据库中获取单词数以生成单词云类型视图。我希望利用ts_向量的内置效率。我看到有一个ts_stats函数,它返回给定ts_向量列的词素列表及其频率 返回的行如下所示: word ndoc nentry studi 322 43434 compani 233 2322 SELECT * FROM ts_stat('SELECT tsv from doc') ORDER BY nentry DESC, ndoc DESC, word
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
查询如下所示:
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
然而,我需要完整的单词,而不仅仅是词汇。有没有办法用PostgreSQL将词素转换为其完整的单词表示形式之一?你可以很容易地将一个单词转换成它的词素,但我不知道如何做相反的事情
谢谢。将ts_向量的配置更改为“简单”。默认值为“english”,它进行词干分析 e、 g ridicul、Companyi、hello、fred的输出计数 使用“简单”配置时,不会产生词干
SELECT * FROM ts_stat('SELECT to_tsvector(''simple'',''freds company company company hello ridiculous'')');
输出计算:
荒谬,你好,弗雷德斯,公司
这是不可能的。您可以将初始文本存储到单独的列中
词素是一个词的规范化表示(使用字典或词干分析器),因此它可以匹配多种形式:词素
'walk'
匹配'walks'
以及'walking'
,因此无法确定原始形式 你找到解决方案了吗?没有,我选择了一个效率低得多的解决方案,将大量文本拉入我的应用程序代码,并在一些基本的词干分析之后进行计数。我想我会看看DBs更倾向于全文搜索。。。