基于关键字的多个数据文件搜索

时间:2018-03-24 02:43:01

标签: postgresql

我正在尝试根据关键字搜索来识别数据条目。当我为每个文件单独搜索关键字时,这种方法很成功。这是我的代码

SELECT distinct ON (file1.id) file1.id, file1.notes1

FROM  file1

where file1.notes1 similar to '%((significant)|(important))%';

我希望同样的方法适用于多个文件。但我的查询需要更长时间。是否有更有效的方法来处理来自多个文件的查询?

PS我有很多关键字,但我在这个示例代码中只发布了2个关键字。

SELECT distinct ON (file1.id) file1.id,file2.date,file2.time, file1.notes1, 
file2.notes2

FROM  file1, file2

where file1.id= file2.id
AND (file1.notes1 similar to '%((significant)|(important))%' OR file2.notes2 
similar to '%((significant)|(important))%');

1 个答案:

答案 0 :(得分:0)

您可以尝试使用UNION ALL/UNION重写它:

SELECT file1.id, file1.notes1
FROM  file1
where file1.notes1 similar to '%((significant)|(important))%'
UNION 
SELECT file2.id, file2.notes1
FROM  file2
where file2.notes1 similar to '%((significant)|(important))%';