diff options
author | Andrew Dolgov <[email protected]> | 2012-07-09 19:49:48 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2012-07-09 19:49:48 +0400 |
commit | 2ea9bbfd075fc03acceb608746c3989613f768e3 (patch) | |
tree | 5b98f9e579a2fbe4352e8d5eaa21b61286373684 /include/rssfuncs.php | |
parent | 687bb90d27b522b2a35263db9e1cd2ba53b41e74 (diff) |
implement proof of concept postgresql pg_trgm N-gram based marking of similar article titles as read automatically
Diffstat (limited to 'include/rssfuncs.php')
-rw-r--r-- | include/rssfuncs.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/rssfuncs.php b/include/rssfuncs.php index 12c4a57d2..59fa3d547 100644 --- a/include/rssfuncs.php +++ b/include/rssfuncs.php @@ -979,6 +979,27 @@ $published = 'false'; } + // N-grams + + if (DB_TYPE == "pgsql" and defined('_NGRAM_TITLE_DUPLICATE_THRESHOLD')) { + + $result = db_query($link, "SELECT COUNT(*) AS similar FROM + ttrss_entries,ttrss_user_entries + WHERE ref_id = id AND updated >= NOW() - INTERVAL '7 day' + AND similarity(title, '$entry_title') >= "._NGRAM_TITLE_DUPLICATE_THRESHOLD." + AND owner_uid = $owner_uid"); + + $ngram_similar = db_fetch_result($result, 0, "similar"); + + if ($debug_enabled) { + _debug("update_rss_feed: N-gram similar results: $ngram_similar"); + } + + if ($ngram_similar > 0) { + $unread = 'false'; + } + } + $result = db_query($link, "INSERT INTO ttrss_user_entries (ref_id, owner_uid, feed_id, unread, last_read, marked, |