Skip to content

Commit

Permalink
readme, gitignore
Browse files Browse the repository at this point in the history
  • Loading branch information
polyfractal committed Mar 2, 2013
1 parent 9bdd43f commit 655cc07
Show file tree
Hide file tree
Showing 18 changed files with 75 additions and 601 deletions.
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#editor related
.idea

# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db
63 changes: 63 additions & 0 deletions README.textile
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
h1. elasticsearch-inquisitor

Inquisitor is a tool help understand and debug your queries in ElasticSearch.

|_. elasticsearch-segmentspy |_. ElasticSearch |
| master | 0.19.0.RC1 -> 0.20.6 |
| v0.1.* | 0.19.0.RC1 -> 0.20.6 |

*Note:* Inquisitor requires ElasticSearch 0.19.0.RC1 for the 'Analyzers' and 'Tokenizers' tabs, but the main 'Queries' tab will function with versions >= 0.14.0

h3. Installation

To install SegmentSpy onto your node, run <code>bin/plugin -install polyfractal/elasticsearch-inquisitor</code>

SegmentSpy automatically connects to <code>localhost</code>, so it must be run on a node that is web-accessible. To access Inquisitor, open <code>http://localhost:9200/_plugin/inquisitor/</code>


h3. Query Tab

Inquisitor's "Query" tab allows you to search your index/type with arbitrary queries. The output is designed to help understand and debug queries, whether it is fixing JSON errors or trying to decide why certain results are returned.

* Inquisitor automatically discovers your indices, types and mappings. Simply select the index and type you wish to query

!indices.png!

* Inquisitor parses your JSON query as you type. If the JSON is valid, it prints a nicely formatted version for reference. If there is an error, Inquisitor uses JSONLint to help identify the error.

!json.png!

* Error messages from ElasticSearch are often large, nested blocks of text mixed with mangled JSON. Inquisitor parses the error and re-formats it into a table, allowing you to quickly identify the problem with your query.

!errors.png!

* Inquisitor attempts to autodetect fields in your query that match properties in your type's mapping. If a property is autodetected, highlighting is automatically enabled in the results.

!highlighting.png!

* Search results are presented in a formatted table. Relevance scores and document IDs are displayed in the top-left corner of each result. In the top-right corner, Inquisitor gives you the ability to dive into the result's scoring using ElasticSearch's Explain API.. If highlighting is enabled, highlighted fragments be marked with yellow backgrounds. The full document source is shown below the fragments.

!result.png!

* In addition to query results, Inquisitor has a tab that analyzes arbitrary text using ElasticSearch's built-in analyzers. Custom analyzers will be supported soon.

!anlyzers.png!

* Simlar to the Analyzer tab, Inquisitor also has a Tokenizer tab which analyzes arbitrary text with various tokenizers.

!tokenizers.png!


h3. Background Information

This plugin was written because "Why didn't my query return the correct results?" questions are extremely prevalent. They are also difficult for third-parties to help diagnose without a full recreation of the searech environment. It is hoped that Inquisitor helps people diagnose their query problems without needing to turn to outside help. It can also function as a great learning tool, to understand how ElasticSearch parses and matches queries.

Inquisitor was written in AngularJS. This is my first project in AngularJS, so if you are reading the code...be kind! I basically have no idea what I'm doing in Angular :)

h3. Roadmap
* Fully integrate the Explain API once it supports POST requests
* Load custom analyzers
* Ad-hoc analyzer creation to test analyzers that have not been mapped yet
* Query_string parsing tab, since query_string has a pre-parsing phase which confuses many people
* Visual query builder

11 changes: 0 additions & 11 deletions _site/.idea/_site.iml

This file was deleted.

5 changes: 0 additions & 5 deletions _site/.idea/encodings.xml

This file was deleted.

7 changes: 0 additions & 7 deletions _site/.idea/jsLibraryMappings.xml

This file was deleted.

8 changes: 0 additions & 8 deletions _site/.idea/libraries/sass_stdlib.xml

This file was deleted.

8 changes: 0 additions & 8 deletions _site/.idea/misc.xml

This file was deleted.

9 changes: 0 additions & 9 deletions _site/.idea/modules.xml

This file was deleted.

5 changes: 0 additions & 5 deletions _site/.idea/scopes/scope_settings.xml

This file was deleted.

7 changes: 0 additions & 7 deletions _site/.idea/vcs.xml

This file was deleted.

Loading

0 comments on commit 655cc07

Please sign in to comment.