Skip to content
Search front-end the purpose of which is to investigate the precision of machine generated labels and compare them with labels assigned by human cataloguers
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Content based image search student project

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 labels to images made available through the SOCH/K-samsök 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.

The design and development of the prototyp and an analysis of the precision of the machine extracted labels have been summarised in Max Collin's and Alfred Bjersander's student paper "Innehållsbaserad bildsök - Förbättrad informationskvalitet för det fotografiska kulturarvet" at Uppsala University.

Getting Started


  • Nodejs needs to be installed on your system. Refer to Nodejs documentation for your Operating system at:
  • Elasticsearch is needed as database and searchengine. Check documentation at:


  • Install Nodejs
  • Install Elasticsearch
  • Clone project to local folder

To install required dependencies run:

npm install


Add data to Elasticsearch database.

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 project


npm start

Built With



This project is licensed under the MIT License - see the file for details

You can’t perform that action at this time.