Postgresql - 选择观察并放入新表

时间:2014-09-07 23:31:44

标签: postgresql text

很抱歉,如果已经询问过这个问题。在之前提出的问题中,我无法看到它。

我有一张桌子 - '八字'。

此文件包含1,000,000个文本文档。

我只需要提到“其他事件”这个词。所以我尝试进行一些文本匹配,然后将这些文件输出到一个新表中。

我目前的代码是;

 SELECT * FROM eightks\d
 WHERE to_tsvector(text) @@ to_tsquery('other_events');

当我运行时,我收到以下错误

    string is too long for tsvector (2368732 bytes, max 1048575 bytes)

另外,如何将匹配的行输出到新表中?

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

那是documented limitation

  

tsvector的长度(lexemes + position)必须小于1兆字节

可以更改源代码并重新编译。见ts_type.h。我怀疑这不会很简单。

您可能需要将文档分成较小的部分进行搜索,然后将这些部分组合起来呈现给用户。

至于将行插入另一个表,您只需插入正确的select语句即可。基本上。 。

insert into table_name 
select ...

您可能需要提供列名。