Une expérience de moteur de recherche RSS sans couture avec un soupçon d'apprentissage automatique.
Un vidage SQL de la base de données avec plus de 3 millions d'entrées extrait en plus d'un an peut être téléchargé sur https://davidesantangelo.gumroad.com/l/nkyymb
Dato.rss est en version bêta et verra probablement de nombreux changements dans un avenir proche.
Si vous avez des commentaires ou des suggestions, veuillez nous les envoyer en utilisant l'onglet Problèmes.
Merci d'avoir essayé la version bêta!
Moteur de recherche: Recherchez rapidement dans les millions de flux RSS disponibles.
API RESTFUL: transforme les données de nourriture en une API impressionnante. L'API simplifie la façon dont vous gérez les flux RSS, Atom ou JSON. Vous pouvez ajouter et garder une trace de vos données d'alimentation préférées avec une API de repos simple, rapide et propre. Toutes les entrées sont enrichies par l'apprentissage automatique et les moteurs sémantiques.
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 "
}
}
}
},
]
}
La recherche est juste implémentée avec la fonction de recherche de texte en texte intégral.
J'ai utilisé le GEM PG_SEARCH , qui peut être utilisé de deux manières:
Recherche multiple: recherchez plusieurs modèles et renvoyez un seul tableau de résultats. Imaginez avoir trois modèles: produit, marque et avis. En utilisant Multi Search, nous pourrions rechercher tous en même temps, en voyant un seul ensemble de résultats de recherche. Ce serait parfait pour ajouter des fonctionnalités de recherche fédérées à votre application.
Portée de recherche: recherche dans un seul modèle, mais avec une plus grande flexibilité.
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;
SQLLe classement des aliments est fourni par OpenRank une métrique d'autorité de domaine racine libre basé sur l'ensemble de données de recherche de recherche de recherche commun. La valeur est normmilisée par
( ( Math . log10 ( domain_rank ) / Math . log10 ( 100 ) ) * 100 ) . round L'apprentissage automatique est fourni par Dandelion API Semantic Text Analytics en tant que service, du texte à des données exploitables. Extraire le sens d'un texte non structuré et le mettre en contexte avec une simple API.
Vous pouvez ajouter autant de flux que vous le souhaitez pour que le robot automatique à gérer.
https: /// Feeds / New
Toute la documentation de l'API se trouve dans la section Wiki. N'hésitez pas à l'améliorer, bien sûr.
https://github.com/davidesantangelo/dato.rsss/wiki
Pour utiliser certaines fonctionnalités telles que l'ajout d'un nouveau flux, vous avez besoin d'un jeton avec autorisation d'écriture . Actuellement, je peux l'activer. Au cas où contactez-moi
De plus, beaucoup de gemmes Ruby, dont une liste complète est sur / main / gemfile.
Si vous souhaitez me soutenir en coûts de serveur pour garder Dato.ess gratuit et plus, envisagez de parrainer! Merci!
Sponsor github
Les rapports de bogues et les demandes de traction sont les bienvenus sur GitHub à https://github.com/davidesantangelo/dato.rss. Ce projet est destiné à être un espace sûr et accueillant pour la collaboration, et les contributeurs devraient adhérer au Code de conduite de l'alliance des contributeurs.
Le GEM est disponible en open source en vertu des termes de la licence du MIT.