dato.rss – RSS with Ruby

Intro

My latest side Rails project is Search Engine.

dato.rss is a simple, clean and fast RSS search engine with a RESTful API.

the project is divided into

Search Engine: Quickly search through the millions of available RSS feeds.

RESTfu…


This content originally appeared on DEV Community and was authored by Davide Santangelo

Intro

My latest side Rails project is Search Engine.

dato.rss is a simple, clean and fast RSS search engine with a RESTful API.

the project is divided into

Search Engine: Quickly search through the millions of available RSS feeds.

RESTful API: Turns feed data into an awesome API. The API simplifies how you handle RSS, Atom, or JSON feeds. You can add and keep track of your favourite feed data with a simple, fast and clean REST API. All entries are enriched by Machine Learning and Semantic engines.

Search

Search is just implemented with Full Text Search Postgres feature.

I used the pg_search Gem, which can be used in two ways:

Multi Search: Search across multiple models and return a single array of results. Imagine having three models: Product, Brand, and Review. Using Multi Search we could search across all of them at the same time, seeing a single set of search results. This would be perfect for adding federated search functionality to your app.

Search Scope: Search within a single model, but with greater flexibility.

for the implementation I found very useful the article https://pganalyze.com/blog/full-text-search-ruby-rails-postgres

    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
Enter fullscreen mode Exit fullscreen mode

Search View

Alt Text

Feed Rank

Feed Ranking is provided by openrank a free root domain authority metric based on the common search pagerank dataset. The value is normilized by

((Math.log10(domain_rank) / Math.log10(100)) * 100).round
Enter fullscreen mode Exit fullscreen mode

Machine Learning

Machine Learning is provided by dandelion API Semantic Text Analytics as a service, from text to actionable data. Extract meaning from unstructured text and put it in context with a simple API.

RESTful API

All API documentation is in the Wiki section. Feel free to make it better, of course.

https://github.com/davidesantangelo/dato.rss/wiki

To use some features such as adding a new feed you need a token with write permission. Currently only I can enable it. In case contact me

Github

GitHub logo davidesantangelo / dato.rss

RSS search engine

DATO.RSS

The best RSS Search Engine experience you can find.

Alt Text

Search Engine: Quickly search through the millions of available RSS feeds.

RESTful API: Turns feed data into an awesome API. The API simplifies how you handle RSS, Atom, or JSON feeds. You can add and keep track of your favourite feed data with a simple, fast and clean REST API. All entries are enriched by Machine Learning and Semantic engines.

Live

https://datorss.com

Example

curl 'https://datorss.com/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
Enter fullscreen mode Exit fullscreen mode


This content originally appeared on DEV Community and was authored by Davide Santangelo


Print Share Comment Cite Upload Translate Updates
APA

Davide Santangelo | Sciencx (2021-02-12T10:01:21+00:00) dato.rss – RSS with Ruby. Retrieved from https://www.scien.cx/2021/02/12/dato-rss-rss-with-ruby/

MLA
" » dato.rss – RSS with Ruby." Davide Santangelo | Sciencx - Friday February 12, 2021, https://www.scien.cx/2021/02/12/dato-rss-rss-with-ruby/
HARVARD
Davide Santangelo | Sciencx Friday February 12, 2021 » dato.rss – RSS with Ruby., viewed ,<https://www.scien.cx/2021/02/12/dato-rss-rss-with-ruby/>
VANCOUVER
Davide Santangelo | Sciencx - » dato.rss – RSS with Ruby. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/02/12/dato-rss-rss-with-ruby/
CHICAGO
" » dato.rss – RSS with Ruby." Davide Santangelo | Sciencx - Accessed . https://www.scien.cx/2021/02/12/dato-rss-rss-with-ruby/
IEEE
" » dato.rss – RSS with Ruby." Davide Santangelo | Sciencx [Online]. Available: https://www.scien.cx/2021/02/12/dato-rss-rss-with-ruby/. [Accessed: ]
rf:citation
» dato.rss – RSS with Ruby | Davide Santangelo | Sciencx | https://www.scien.cx/2021/02/12/dato-rss-rss-with-ruby/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.