Architecture de services modulaires pour indexer et rechercher les URL par son contenu à l'aide de Couchdb + Lucene comme recherche de recherche.
Remarque: Ce projet est toujours en cours de développement intense, veuillez vous attendre à un peu de WIP!
Remarque: (Docker et Docker-Compose requis)
// Build docker containers (1st time)
docker-compose build
// Launch all required services
# [PRODUCTION]
docker-compose up
# [DEVELOPMENT]
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
// Open UI
open http://localhost:8080
Remarque: Pour une réinitialisation complète des données CouchDB (AVERTISSEMENT, toutes les données seront effacées):
docker-compose rm && rm DatabaseInit/dbinitstatus/.dbinitdone
Remarque: (Docker et Docker-Compose requis)
// Test GetImageFromURL
open http://localhost:3000/?url=www.botdream.com&width=1024&height=900
// Test GetContentFromURL
curl http://localhost:6000/?url=www.botdream.com
// Open CouchDB UI
open http://localhost:5984/_utils/database.html?searchengine/_all_docs
// Test CouchDB+Lucene search
curl -X GET --silent http://localhost:5984/_fti/local/searchengine/_design/search/by_content?q=brilliant&include_docs=true | jq .
//DBProxy service
[POST] curl -d 'url=http://www.botdream.com' http://localhost:8000/url
[DELETE] curl -X DELETE http://localhost:8000/remove/http-botdream-com-botdream-com-botdream-com%2F2017-04-21T23%3A11%3A04.910Z | jq .
[GET] curl http://localhost:8000/search/botdream | jq .
// shutdown services
docker-compose stop
OR
CTRL+C in the original terminal
// clean services data (reset containers)
docker-compose rm
// when changing source code you should rebuild docker images, use this generic command to build all and ignore cache (will take some time, forces to rebuild all images from scratch)
docker-compose build --no-cache
FAIRE:
Initialisateur de la base de données Couchdb.
Pour un test de service rapide, exécutez ces commandes:
cd DatabaseInit
./docker_build.sh
./docker_run.sh
React webapp ui.
Pour un test de service rapide, exécutez ces commandes:
cd UI
./docker_build.sh
./docker_run.sh
open http://localhost:8080
Un service Web de capture d'écran simple propulsé par Express et Phantomjs. Fourchu de la capture d'écran-app.
Documentation originale Avaliable ici
Pour un test de service rapide, exécutez ces commandes:
cd GetImageFromURL
./docker_build.sh
./docker_run.sh
open http://localhost:3000/?url=www.botdream.com&width=1024&height=900
// or with clipping params
open http://localhost:3000/?url=www.botdream.com&width=1024&height=900&clipRect=%7B%22top%22%3A0%2C%22left%22%3A0%2C%22width%22%3A1024%2C%22height%22%3A800%7D
curl http://localhost:3000/?url=www.botdream.com&width=1024&height=900 > botdream.png
curl --silent http://localhost:3000/?url=www.botdream.com&width=1024&height=900 | imgcat
Un service Web de grattement de contenu simple propulsé par express et cheerio.js
Pour un test de service rapide, exécutez ces commandes:
cd GetContentFromURL
./docker_build.sh
./docker_run.sh
curl http://localhost:6000/?url=www.botdream.com
Créez une base de données et certains documents, puis vous pouvez commencer à configurer et à interroger les index comme expliqué dans le CouchDB-Lucene Readme.
Pour un test de service rapide, exécutez ces commandes:
cd CouchDBLucene
docker-compose up
./database_init.sh
open http://localhost:5984/_utils/
curl -X GET --silent http://localhost:5984/_fti/local/searchengine/_design/search/by_content?q=nirvana&include_docs=true | jq .
curl -X GET --silent http://localhost:5984/_fti/local/searchengine/_design/search/by_content?q=einstein&include_docs=true | jq .
curl -X GET --silent http://localhost:5984/_fti/local/searchengine/_design/search/by_content?q=brilliant&include_docs=true | jq .
// Clear CouchDB data
docker-compose rm
Plus d'informations sur Couchdb-Lucene FullText Search ICI: Couchdblunene-FullText-Search
Un outil simple fabriqué dans GO TO PARSE PARE Google Chrome Bookmark a exporté le fichier HTML dans CouchDB-Lucene.
Pour un test de service rapide, exécutez ces commandes:
cd SendFavoritesToCouchDB
# export Chrome Bookmark file to ./bookmarks_sample.html
# ./build.sh # in case you need to change the sourcecode and compile the tool
# Launch CouchDB-Lucene service and initialize database
# Launch GetContentFromURL service
./SendFavoritesToCouchDB ./bookmarks_sample.html
Une interface utilisateur expérimentale utilisant VUE.js, le serveur HTTP WebPack-Dev-Server de base, pas encore implémenté, aucun conteneur Docker disponible!
Pour un test de service rapide, exécutez ces commandes:
cd UI
npm install
npm start
open http://localhost:8080
Un service simple URL-index. Envoyez de la viande, soyez sauvage.
Cela prend l'URL donnée, le passe via GetContentFromUrl, puis le pousse dans la base de données de searchengine Couchdb SearchEngine où CouchDB-Lucene indexé les documents.
curl -d 'url = http: //www.botdream.com' http: // localhost: 8000 / url
Ensuite, quand c'est fait:
curl -X GET --silent http://localhost:5984/_fti/local/searchengine/_design/search/by_content?q=botdream&include_docs=true | jq .
Remarque: le moteur de service est désormais indexé par titre:
curl -X GET --silent http://localhost:5984/_fti/local/searchengine/_design/search/by_title?q=botdream&include_docs=true | jq .
Aussi: DBProxy implémente désormais le point de terminaison de la recherche (cela évite l'interface utilisateur de nécessiter des données directement à CouchDB, également à l'avenir, il sera possible d'utiliser un autre moteur DB et de l'abstraire avec ce service => en regardant Elasticsearch)
curl -X GET --silent http://localhost:8000/search/botdream | jq .