All Projects → TransparencyToolkit → Lookingglass

TransparencyToolkit / Lookingglass

Licence: gpl-3.0
Intuitive and configurable search interface for document archives.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Lookingglass

Spimedb
EXPLORE & EDIT REALITY
Stars: ✭ 14 (-92.05%)
Mutual labels:  search, document
Keyvi
Keyvi - a key value index that powers Cliqz search engine. It is an in-memory FST-based data structure highly optimized for size and lookup performance.
Stars: ✭ 171 (-2.84%)
Mutual labels:  search
Query Translator
Query Translator is a search query translator with AST representation
Stars: ✭ 165 (-6.25%)
Mutual labels:  search
Jet Django
Jet Bridge (Django) for Jet Admin – Admin panel framework for your application
Stars: ✭ 168 (-4.55%)
Mutual labels:  interface
Deal
Design by contract for Python with static checker and tests' generation.
Stars: ✭ 164 (-6.82%)
Mutual labels:  interface
Alfred Web Searches
Alfred workflow to search through any website (easily extendable list)
Stars: ✭ 170 (-3.41%)
Mutual labels:  search
Rarfile
Python module for RAR archive reading
Stars: ✭ 164 (-6.82%)
Mutual labels:  archive
Celery Cn
🚀Celery中文手册
Stars: ✭ 173 (-1.7%)
Mutual labels:  document
Rusticsearch
Lightweight Elasticsearch compatible search server.
Stars: ✭ 171 (-2.84%)
Mutual labels:  search
Vim Subversive
Vim plugin providing operator motions to quickly replace text
Stars: ✭ 168 (-4.55%)
Mutual labels:  search
Astpath
A command-line search utility for Python ASTs using XPath syntax.
Stars: ✭ 167 (-5.11%)
Mutual labels:  search
Algoliasearch Client Swift
⚡️ A fully-featured and blazing-fast Swift API client to interact with Algolia.
Stars: ✭ 166 (-5.68%)
Mutual labels:  search
Tachyons Tldr
quick lookup for tachyon classes, scales and colour palette
Stars: ✭ 170 (-3.41%)
Mutual labels:  search
Eclipse Instasearch
Eclipse plug-in for fast code search
Stars: ✭ 165 (-6.25%)
Mutual labels:  search
Jkes
A search framework and multi-tenant search platform based on java, kafka, kafka connect, elasticsearch
Stars: ✭ 173 (-1.7%)
Mutual labels:  search
Flask Msearch
Full text search for flask.
Stars: ✭ 164 (-6.82%)
Mutual labels:  search
Modernsearchbar
The famous iOS search bar with auto completion feature implemented.
Stars: ✭ 167 (-5.11%)
Mutual labels:  search
Materialsearchbar
Material Design Search Bar for Android
Stars: ✭ 2,008 (+1040.91%)
Mutual labels:  search
Searchview
This a view that waiting for network connection to resolve with cool animation .
Stars: ✭ 174 (-1.14%)
Mutual labels:  search
Emoji
💌 Find the emoji that echoes your mind.
Stars: ✭ 2,072 (+1077.27%)
Mutual labels:  search

LookingGlass

Search, filter, and browse any set of documents. LookingGlass includes full text search, category filters, and date queries all through a nice search interface with an Elasticsearch backend. LookingGlass also supports customizable themes and flexible document view pages for browsing and embedding a variety of document types.

LookingGlass requires DocManager so that it can interact with Elasticsearch. LookingGlass can be used in combination with Harvester for crawling, parsing, and loading documents and automatically turning them into a searchable archive. However, it also works well as a standalone archiving tool.

Installation

Dependencies

  • DocManager and all of its dependencies
  • ruby 2.4.1
  • rails 5
  • (optionally) Harvester
  • libmagic-dev

Setup Instructions

  1. Install the dependencies
  1. Get LookingGlass
  • Clone repo: git clone --recursive [email protected]:TransparencyToolkit/LookingGlass.git
  • Go into the LookingGlass directory: cd LookingGlass
  • Install the Rubygems LookingGlass uses: bundle install
  • Generate simple form data: rails generate simple_form:install --bootstrap
  • Precompile assets: rake assets:precompile
  1. Run LookingGlass
  • Start DocManager: Follow the instructions on the DocManager repo
  • Configure Project: Edit the file in config/initializers/project_config so that the PROJECT_INDEX value is the name of the index in the DocManager project config LookingGlass should use
  • Start LookingGlass: Run rails server -p 3001
  • Use LookingGlass: Go to http://0.0.0.0:3001 in your browser

Features

LookingGlass is a frontend for searchable document archives. Previously, it also included the backend that interacted with Elasticsearch, but this has since been split out into DocManager. The key features are described below.

Display of Document Sets

LookingGlass shows document sets from multiple data sources. It displays a list of documents on the main page. The fields displayed for each document on the index page and the order the documents are displayed in (sorted by date or another numerical field) are customizable in DocManager's data source config files.

Each individual document set is then displayed on its own page for easy reading. The document page includes a sidebar with the document's categorical field and a customizable set of tabs that can display the document text, embed the document itself (which is stored remotely, locally, or on document cloud), offer document downloads, or load links.

Search

LookingGlass allows full text of document sets using the Elasticsearch backend. It can be used to search documents in most languages. LookingGlass supports searching all fields or individual fields, and a variety of non-text fields like dates. Results are sorted by relevance with text matching the query highlighted.

Categorical Filters

Many document sets have categorical fields that are common across documents, either in the original data or that can be extracted with a tool like Catalyst. For example, countries mentioned in a document, file format, hashtags, and topic-specific keywords are common types of categories. LookingGlass allows filtering document sets by one or more categories by clicking links on the sidebar to get, say, all the documents that are about a particular country.

The category sidebar also displays the number of documents for each value in each category that matches the current query. This is great for getting an overview of the content in the document set.

Document View Templates

On both the search results/document index and individual document pages, the way the document is displayed is highly customizable. It is possible to add new templates to display different types of data sources however you want and even thread together multiple documents when needed (in email datasets, for example).

These view templates are defined in app/views/docs/show/tabs/panes (for the document view page) and app/views/docs/index/results/result_templates (for the index/result view). The fields to use as a thread ID and view templates to used are specified per-source in the DocManager data source config files.

Version Tracking

LookingGlass can be used to track which documents change over time and how. Documents that are changed are specified in categories on the sidebar and the document view page has a tool that allows users to view the exact difference between two documents over time.

The fields used to check if a document has changed are specified per-source in the DocManager data source config files.

Custom Themes

LookingGlass supports custom theming. The color scheme, fonts, logo, text, and links are all entirely customizable.

Some of these settings, like the theme used, project title, and logo are defined in the DocManager project config file. The colors and fonts can then be set by creating a theme.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].