All Projects → o19s → Splainer

o19s / Splainer

Licence: apache-2.0
Elasticsearch/Solr Sandbox for exploring explain information and tweaking

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Splainer

Nagios Plugins
450+ AWS, Hadoop, Cloud, Kafka, Docker, Elasticsearch, RabbitMQ, Redis, HBase, Solr, Cassandra, ZooKeeper, HDFS, Yarn, Hive, Presto, Drill, Impala, Consul, Spark, Jenkins, Travis CI, Git, MySQL, Linux, DNS, Whois, SSL Certs, Yum Security Updates, Kubernetes, Cloudera etc...
Stars: ✭ 1,000 (+817.43%)
Mutual labels:  solr
Awesome Solr
A curated list of Awesome Apache Solr links and resources.
Stars: ✭ 69 (-36.7%)
Mutual labels:  solr
E3mall
宜立方商城,SOA架构学习项目
Stars: ✭ 91 (-16.51%)
Mutual labels:  solr
Datafari
Open Source, Distributed, Big Data Enterprise Search Engine
Stars: ✭ 47 (-56.88%)
Mutual labels:  solr
Solrj Example
solrj示例
Stars: ✭ 56 (-48.62%)
Mutual labels:  solr
Blog
一款简洁响应式博客系统
Stars: ✭ 72 (-33.94%)
Mutual labels:  solr
Shutterstock Heatmap Toolkit
Shutterstock's interactive heatmap toolkit powered by heatmap.js and Solr
Stars: ✭ 37 (-66.06%)
Mutual labels:  solr
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (-4.59%)
Mutual labels:  solr
Solr Express
A simple and lightweight query .NET library for Solr, in a controlled, buildable and fail fast way.
Stars: ✭ 66 (-39.45%)
Mutual labels:  solr
Jeeplatform
一款企业信息化开发基础平台,拟集成OA(办公自动化)、CMS(内容管理系统)等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,代码已经捐赠给开源中国社区
Stars: ✭ 1,285 (+1078.9%)
Mutual labels:  solr
Elasticsearch Synonyms
Curated synonym files and Helpers for Elasticsearch Synonym Token Filter
Stars: ✭ 51 (-53.21%)
Mutual labels:  solr
Open Semantic Search Apps
Python/Django based webapps and web user interfaces for search, structure (meta data management like thesaurus, ontologies, annotations and named entities) and data import (ETL like text extraction, OCR and crawling filesystems or websites)
Stars: ✭ 55 (-49.54%)
Mutual labels:  solr
Solrplugins
Dice Solr Plugins from Simon Hughes Dice.com
Stars: ✭ 86 (-21.1%)
Mutual labels:  solr
Ik Analyzer Solr
ik-analyzer for solr 7.x-8.x
Stars: ✭ 1,017 (+833.03%)
Mutual labels:  solr
Logisland
Scalable stream processing platform for advanced realtime analytics on top of Kafka and Spark. LogIsland also supports MQTT and Kafka Streams (Flink being in the roadmap). The platform does complex event processing and is suitable for time series analysis. A large set of valuable ready to use processors, data sources and sinks are available.
Stars: ✭ 97 (-11.01%)
Mutual labels:  solr
Solrcloudpy
python library for interacting with SolrCloud
Stars: ✭ 37 (-66.06%)
Mutual labels:  solr
Vectorsinsearch
Dice.com repo to accompany the dice.com 'Vectors in Search' talk by Simon Hughes, from the Activate 2018 search conference, and the 'Searching with Vectors' talk from Haystack 2019 (US). Builds upon my conceptual search and semantic search work from 2015
Stars: ✭ 71 (-34.86%)
Mutual labels:  solr
Ocr fontssearchengine
A OCR Search Engine With Tesseract Nutch Solr And PHP
Stars: ✭ 110 (+0.92%)
Mutual labels:  solr
Springboot Templates
springboot和dubbo、netty的集成,redis mongodb的nosql模板, kafka rocketmq rabbit的MQ模板, solr solrcloud elasticsearch查询引擎
Stars: ✭ 100 (-8.26%)
Mutual labels:  solr
Solr Scala Client
Solr Client for Scala
Stars: ✭ 86 (-21.1%)
Mutual labels:  solr

The Splainer!

Build Status

The sandbox that explains your search results for you so you don't have to go digging through explain debug! Paste in your Solr or Elasticsearch query URL and go. Try it out here.

Why?

You're a search developer trying to tune search results with Solr or Elasticsearch. You're engaged in search relevancy work.

You're probably stuck with the question of why? Why do search results come back in the order that they do? Solr and Elasticsearch exposes an explain syntax for you to try to explain search scoring. Unfortunately outside the simplest tasks, its a nightmare to read through. There are parsers like explain.solr.pl but they require a lot of manual copy/pasting of explain information to the tool.

Splainer is different by being a sandbox. Paste in your Solr or Elasticsearch URL, query parameters and all. As you work with your query, changing parameters, Splainer shows you parsed and summarized explain information alongside your documents. Continue working and see how the search results change.

Read the blog post introducing Splainer here

Splainer forms the core of the open source tool Quepid that allows you to do this over multiple queries against expert-graded search results to track search changes over a longer period of time.

Using Splainer

Take the tour to see how you'd use Splainer.

Using Splainer locally

We have a Docker image published at https://hub.docker.com/r/o19s/splainer that you can use:

docker run -d -p 9000:9000 o19s/splainer and then go to http://localhost:9000

Developing Splainer

Npm/Yarn Dev Environment

Splainer is written using AngularJS project. It requires npm, grunt, and yarn.

Be sure you've installed npm, yarn, and grunt on your machine.

npm install -g grunt-cli

With Npm/Yarn installed

From the root of the project, you should be able to run the following:

yarn
grunt test
grunt serve

Now browse to http://localhost:9000.

To build the project, simply run grunt dist to build the static artifacts in the dist/ folder.

grunt dist

You can test out the static artifacts via ruby -run -e httpd -- -p 5000 ./dist and going to http://localhost:5000.

With Docker installed

From the root of the project, you should run:

docker build -t splainer  .
docker run -p 9000:9000 splainer:latest

or use the following shortcuts if you have ruby installed:

bin/docker b

then to run the server run

bin/docker s

Using docker-compose

From the root of the project,

docker-compose build
docker-compose run --rm --service-ports app

Docker Extras

  • docker-compose.override.yml.example can be copied to docker-compose.override.yml and use it to override environment variables or work with a local copy of the splainer-search JS library during development defined in docker-compose.yml. Example is included.

https://docs.docker.com/compose/extends/

Testing Notes

  • Unit tests are written using Karma.

  • The ./tests/splainer_test_links.html file is a list of links that invoke Splainer, both the local version and the deployed version against Solr and Elasticsearch, and is a great test to make sure the behavior hasn't reverted. Use this to make sure existing links still work!

Who?

Created by OpenSource Connections.

Thanks to all the community contributors for finding bugs and sharing fixes!.

License

Released under Apache 2

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].