This is a prototype commissioned by Riksantikvarieämbetet (RAÄ) in Visby. The prototype's purpose is to show the potential strengths or weaknesses of adding machine extracted attributes to images made available through RAÄ's API. The Google Vision service was used in conjunction with the RAÄ K-Samsök API to merge image information of 1000 photos. The result is presented via a React web application that allows a user to search images by combining labels as well as combinations of colors.
- Nodejs needs to be installed on your system. Refer to Nodejs documentation for your Operating system at: https://nodejs.org/en/
- Elasticsearch is needed as database and searchengine. Check documentation at: https://www.elastic.co/
- Install Nodejs
- Install Elasticsearch
- Clone project to local folder
To install required dependencies run:
npm install
First, add mapping included in './ElasticsearchConfigs/elasticsearchMappings.txt'-file:
curl -XPUT 'localhost:9200/test_data?pretty' -H 'Content-Type: application/json' -d <Content of elasticsearchMappings>
Then add test data from './ElasticsearchConfigs/test_data.json'-file:
curl -XPOST 'localhost:9200/test_data/googleVision/_bulk?pretty' --data-binary "@/path-to-test-data-file/test_data.json" -H 'Content-Type: application/json'
The default Elasticsearch-server is set to 'localhost:9200' and indice 'test_data'. If a change is needed, edit props for ReactiveBase-component in './src/App.js'
run:
npm start
- React.JS - The web framework used
- ReactiveSearch - React.js library for searchfunctions
- Histoslider - A D3 based histogram slider component for React.JS
- react-color - A Collection of Color Pickers for React.JS
- react-modal - Accessible modal dialog component for React.JS
This project is licensed under the MIT License - see the LICENSE.md file for details