Архитектура модульных сервисов для индекса и поиска URL -адресов с помощью его контента с использованием CouchDB+Lucene в качестве поисковой инженера.
Примечание. Этот проект все еще находится в тяжелом разработке, пожалуйста, ожидайте некоторого WIP!
Примечание: (Docker и Docker-Compose)
// 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
Примечание: для полного запуска сброса данных CouchDB (предупреждение, все данные будут стерты):
docker-compose rm && rm DatabaseInit/dbinitstatus/.dbinitdone
Примечание: (Docker и Docker-Compose)
// 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
Тодо:
CouchDB инициализатор базы данных.
Для быстрого тестирования службы запустите эти команды:
cd DatabaseInit
./docker_build.sh
./docker_run.sh
React WebApp UI.
Для быстрого тестирования службы запустите эти команды:
cd UI
./docker_build.sh
./docker_run.sh
open http://localhost:8080
Простая веб -служба экрана, работающая на экспресс и Phantomjs. Разветвляется от скриншота-приложения.
Оригинальная документация доступна здесь
Для быстрого тестирования службы запустите эти команды:
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
Простая веб -служба соскобляет веб -службу от Express и Cheerio.js
Для быстрого тестирования службы запустите эти команды:
cd GetContentFromURL
./docker_build.sh
./docker_run.sh
curl http://localhost:6000/?url=www.botdream.com
Создайте базу данных и некоторые документы, а затем вы можете начать настройку и запросить индексы, как это объяснено в CouchDB-Lucene Readme.
Для быстрого тестирования службы запустите эти команды:
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
Более подробная информация о полном поиске CouchDB-Lucene
Простой инструмент, созданный в Parse Google Chrome, экспортированный HTML-файл в CouchDB-Lucene.
Для быстрого тестирования службы запустите эти команды:
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
Экспериментальный пользовательский интерфейс с использованием vue.js, базового HTTP-сервера Webpack-Dev-Server, нет бэкэнд, пока не реализован, ни контейнер Docker не доступен!
Для быстрого тестирования службы запустите эти команды:
cd UI
npm install
npm start
open http://localhost:8080
Простая служба URL-Index. Отправьте мясо, возьми Сауге.
Это принимает заданный URL, передает его через GetContentFromUrl, затем выдвигает его в базу данных searchengine CouchDB, где CouchDB-люкен является индексированным документами.
curl -d 'url = http: //www.botdream.com' http: // localhost: 8000/url
Затем, когда это сделано:
curl -X GET --silent http://localhost:5984/_fti/local/searchengine/_design/search/by_content?q=botdream&include_docs=true | jq .
Примечание. Сервисный двигатель теперь индексируется по заголовку:
curl -X GET --silent http://localhost:5984/_fti/local/searchengine/_design/search/by_title?q=botdream&include_docs=true | jq .
Также: DBProxy в настоящее время реализует конечную точку поиска (это позволяет пользовательскому интерфейсу требуется данные непосредственно в CouchDB, а также в будущем можно будет использовать другой двигатель DB и абстрагировать его с помощью этой службы => Просмотр ElasticSearch)
curl -X GET --silent http://localhost:8000/search/botdream | jq .