データベースをキーワードで検索

まず、下記のテーブルを作成しました。

mysql> select * from keyword;
+-----+--------+
| seq | word   |
+-----+--------+
|   1 | 長野   |
|   2 | 地震   |
+-----+--------+
2 rows in set (0.00 sec)

一応興味があるキーワードのリストと考えています。これを、

select n.seq,title,pubDate,word from nhk_main n join keyword
 where title like concat('%',word,'%')
 and effect=1 order by word,pubDate;

というSQL文で検索すると、

 

+------+----------------------------------------------------------------------------------+---------------------+--------+

| seq  | title                                                           | pubDate         | word   |

+------+----------------------------------------------------------------------------------+---------------------+--------+

|   53 | 調理実習でスイセン食べ食中毒か 14人搬送 長野          | 2017-05-16 18:48:00 | 長野   |
|  844 | 長野 飯山の土砂崩れ 土石流のおそれで住民に避難勧告      | 2017-05-21 11:59:00 | 長野   |
|  852 | マラソン大会で男女7人を搬送 熱中症か 長野              | 2017-05-21 15:38:00 | 長野   |
| 1019 | JR長野駅 トイレで異臭 高校生2人手当て                | 2017-05-22 13:00:00 | 長野   |
| 1106 | 土石流がダム乗り越えたか 避難指示に切り替え 長野 飯山   | 2017-05-22 22:32:00 | 長野   |
| 1238 | 避難指示の土砂崩れ 危険性下がらずと専門家 長野          | 2017-05-23 20:52:00 | 長野   |
| 1660 | JR長野駅近くにイノシシ 男性襲われけが                 | 2017-05-26 08:55:00 | 長野   |
| 1687 | JR長野駅近くで男性襲ったイノシシ 住宅地で捕獲         | 2017-05-26 12:31:00 | 長野   |
| 2386 | 防災ヘリ墜落9人死亡事故で合同追悼式 長野 松本          | 2017-05-30 15:19:00 | 長野   |
| 2784 | 中学教諭が生徒に体罰 母親もけが 長野 白馬村             | 2017-06-01 20:13:00 | 長野   |
+------+----------------------------------------------------------------------------------+---------------------+--------+

|  529 | 熊本地震の災害公営住宅 用地確保は約40%にとどまる     | 2017-05-19 17:01:00 | 地震   |
| 1795 | 南海トラフ地震 地域の危険度に応じた対策を               | 2017-05-27 04:08:00 | 地震   |
| 2057 | 秋田駒ヶ岳火山性地震21回 今後の火山活動に注意       | 2017-05-28 15:35:00 | 地震   |
| 3974 | 熊本地震の発生前 約7割の住民“活断層知らず”           | 2017-06-09 04:17:00 | 地震   |

+------+----------------------------------------------------------------------------------+---------------------+--------+

 

という風に、ここ最近のニュースが表示されます。

キーワードのリストを徐々に増やしてゆけば、どんなニュースが現在ホットなのか分析可能となりそうです。