機械学習のヒントを使用したシームレスなRSS検索エンジンエクスペリエンス。
1年以上に抽出された300万を超えるエントリを持つデータベースのSQLダンプは、https://davidesantangelo.gumroad.com/l/nkyymbでダウンロードできます。
Dato.RSSはベータ版であり、近い将来に多くの変化が見られる可能性があります。
コメントや提案がある場合は、[問題]タブを使用してそれらを送信してください。
ベータ版を試してくれてありがとう!
検索エンジン:何百万もの利用可能なRSSフィードをすばやく検索します。
RESTFUL API:フィードデータを素晴らしいAPIに変えます。 APIは、RSS、Atom、またはJSONフィードの処理方法を簡素化します。シンプルで高速でクリーンなREST APIを使用して、お気に入りのフィードデータを追加および追跡できます。すべてのエントリは、機械学習とセマンティックエンジンによって豊かになります。
curl ' https://<yourhost>/api/searches?q=news ' | json_pp
{
" data " : [
{
" id " : " 86b0f829-e300-4eef-82e1-82f34d03aff6 " ,
" type " : " entry " ,
" attributes " : {
" title " : " " Pandemic, Infodemic " : 2 Cartoon Characters Battling Fake News In Assam " ,
" url " : " https://www.ndtv.com/india-news/coronavirus-pandemic-infodemic-2-cartoon-characters-battling-fake-news-in-assam-2222333 " ,
" published_at " : 1588448805,
" body " : " An English daily in Assam's Guwahati has been publishing a cartoon strip to tackle the fake news related to the coronavirus pandemic. The two central characters- " Pandemic and Infodemic " - are being...<img src= " http://feeds.feedburner.com/~r/NDTV-LatestNews/~4/lEmH201Q8jI " height= " 1 " width= " 1 " alt= "" /> " ,
" text " : " An English daily in Assam's Guwahati has been publishing a cartoon strip to tackle the fake news related to the coronavirus pandemic. The two central characters- " Pandemic and Infodemic " - are being... " ,
" categories " : [
" all india "
],
" sentiment " : null,
" parent " : {
" id " : " c97bdae6-b5d1-4966-b9f3-615e29d4d47d " ,
" title " : " NDTV News - Special " ,
" url " : " feed:http://feeds.feedburner.com/NDTV-LatestNews " ,
" rank " : 99
},
" tags " : []
},
" relationships " : {
" feed " : {
" data " : {
" id " : " c97bdae6-b5d1-4966-b9f3-615e29d4d47d " ,
" type " : " feed "
}
}
}
},
]
}
検索は、全文検索Postgres機能で実装されています。
PG_Search GEMを使用しました。これは2つの方法で使用できます。
マルチ検索:複数のモデルで検索し、結果の1つの配列を返します。製品、ブランド、レビューの3つのモデルがあることを想像してください。マルチ検索を使用して、すべての検索を同時に検索し、検索結果のセットが1つ表示されました。これは、アプリにフェデレーション検索機能を追加するのに最適です。
検索スコープ:単一のモデル内で検索しますが、柔軟性が高まります。
execute << - SQL
ALTER TABLE entries
ADD COLUMN searchable tsvector GENERATED ALWAYS AS (
setweight(to_tsvector( ' simple ' , coalesce(title, ' ' )), ' A ' ) ||
setweight(to_tsvector( ' simple ' , coalesce(body, ' ' )), ' B ' ) ||
setweight(to_tsvector( ' simple ' , coalesce(url, ' ' )), ' C ' )
) STORED;
SQLフィードランキングは、一般的な検索Pagerankデータセットに基づいて、OpenRank A Free Root Domain Authorityメトリックによって提供されます。値はによって正規化されます
( ( Math . log10 ( domain_rank ) / Math . log10 ( 100 ) ) * 100 ) . round 機械学習は、テキストから実用的なデータまで、Dandelion API Semantic Text Analyticsによってサービスとして提供されます。非構造化されたテキストから意味を抽出し、単純なAPIを使用してコンテキストに配置します。
自動クローラーが処理するために必要なだけのフィードを追加できます。
https:/// Feeds/new
すべてのAPIドキュメントはWikiセクションにあります。もちろん、お気軽に良くしてください。
https://github.com/davidesantangelo/dato.rss/wiki
新しいフィードの追加などのいくつかの機能を使用するには、書き込み許可を得てトークンが必要です。現在、私だけがそれを有効にすることができます。私に連絡してください
さらに、たくさんのルビージェムがあり、その完全なリストは /メイン /ゲムファイルです。
dato.essを無料に保つためにサーバーコストで私をサポートしたい場合は、スポンサーを検討してください!ありがとう!
Githubスポンサー
バグレポートとプルリクエストは、https://github.com/davidesantangelo/dato.rssのGithubで大歓迎です。このプロジェクトは、コラボレーションのための安全で居心地の良いスペースであることを目的としており、貢献者は貢献者の契約行動規範を遵守することが期待されています。
宝石は、MITライセンスの条件の下でオープンソースとして利用できます。