是否可以从包含Postgres中的文本字符串的字段中为每个字标识不同的单词和计数?Postgres中字符串的字频率?
回答
像这样的东西?
SELECT some_pk, regexp_split_to_table(some_column, '\s') as word FROM some_table
获取区别词随后容易:
SELECT DISTINCT word FROM ( SELECT regexp_split_to_table(some_column, '\s') as word FROM some_table ) t
或获取的计对每个字:
SELECT word, count(*) FROM ( SELECT regexp_split_to_table(some_column, '\s') as word FROM some_table ) t GROUP BY word
取决于你的数据,它也可能有助于将列包装在'lower()' – Brandon 2018-03-11 02:39:35
应该用一个空格“”或之间的其它划符号被分割话;而不是's',除非有意这样做,例如将'myWordshere'视为'myWord'和'here'。
SELECT word, count(*)
FROM (
SELECT regexp_split_to_table(some_column, ' ') as word
FROM some_table
) t
GROUP BY word
\ s是一个有效的正则表达式字符集,适用于任何空白字符 – 2014-09-30 04:27:02
我低估了,因为答案显然误解了正则表达式。 – Private 2016-06-13 09:33:02
你也可以使用PostgreSQL的文本搜索功能,这,例如:
SELECT * FROM ts_stat('SELECT to_tsvector(''hello dere hello hello ridiculous'')');
将产生:
word | ndoc | nentry
---------+------+--------
ridicul | 1 | 1
hello | 1 | 3
dere | 1 | 1
(3 rows)
(PostgreSQL的应用与语言相关的词干和停停单词删除,这可能是你想要的,或者可能不是。可以通过使用simple
而不是english
字典来禁用停用词移除和词干化, ee值以下。)
嵌套SELECT
语句可以是产生一个tsvector字段任何select语句,所以你可以替换适用的to_tsvector
功能到任意数量的文本字段的功能,并将它们连接成一个单一的tsvector
,过您的文档中的任意子集,例如:
SELECT * FROM ts_stat('SELECT to_tsvector(''english'',title) || to_tsvector(''english'',body) from my_documents id < 500') ORDER BY nentry DESC;
会产生从第一500个文件的title
和body
领域采取了总字数的矩阵,通过降出现的次数进行排序。对于每个单词,您还将获得它出现的文档数(ndoc
列)。
请参阅文档以获取更多详细信息:http://www.postgresql.org/docs/current/static/textsearch.html
- 1. 字符串中的字符频率
- 2. 从字符串中查找子字符串的频率
- 3. 频率字符串中的R
- 4. 字符频率
- 5. 如何在Haskell中查找字符串中的字符频率?
- 6. Postgres替换字符串中的字符
- 7. 改善字符串中字符的代码检查频率
- 8. 计算字符串中字符的频率C++
- 9. 给定字符串中期望字符的频率
- 10. 字符串发生的累积频率
- 11. 在Swift字符串中计数字符频率
- 12. Python熊猫频率字符串比较
- 13. 字符串中的多字频率计数
- 14. 有效计算字符串中的字词频率
- 15. Haskell中的频率表只有列表理解,找到字符串中的字符的频率
- 16. 如何在字符串中查找字谜频率?
- 17. 查找字符串中字的概率
- 18. 计数的字母的频率在一个字符串
- 19. 计算字符频率在短语频率字典python 3
- 20. 使用Javascript计算字符串的频率字母
- 21. 打印一个字符串的字母频率
- 22. 字母/符号频率(PHP)
- 23. 字符中的Character.getNumericvalue频率表
- 24. 排序中有一个列表中字符串的频率
- 25. 是否可以根据字符串中字符的频率创建数组?
- 26. 什么是计算字符串中字符频率最简单的方法?
- 27. 用字符串中的2个键填充地图。字符和频率C++
- 28. 执行字符串Postgres
- 29. 翻译字符串postgres
- 30. 红宝石字符串编码连续字母频率
如何定义“单词”? – 2011-03-07 22:49:30