icon/x Created with Sketch.

Splunk Cookie Policy

We use our own and third-party cookies to provide you with a great online experience. We also use these cookies to improve our products and services, support our marketing campaigns, and advertise to you on our website and other websites. Some cookies may continue to collect information after you have left our website. Learn more (including how to update your settings) here.
Accept Cookie Policy

Accept License Agreements

This app is provided by a third party and your right to use the app is in accordance with the license provided by that third-party licensor. Splunk is not responsible for any third-party apps and does not provide any warranty or support. If you have any questions, complaints or claims with respect to this app, please contact the licensor directly.

Thank You

Downloading JellyFisher
SHA256 checksum (jellyfisher_010.tgz) 642f94bb1f1e40bb05b2a1b0d28e41c056c6f1b0d9f33000a6d02eb6c4d991ae
To install your download
For instructions specific to your download, click the Details tab after closing this window.

Flag As Inappropriate

JellyFisher

Overview
Details
JellyFisher is a Splunk custom search command that leverage the excellent jellyfish python's library to do approximate and phonetic strings matching.

String comparison algorithms:
- Levenshtein Distance
- Damerau-Levenshtein Distance
- Jaro Distance
- Jaro-Winkler Distance
- Match Rating Approach Comparison
- Hamming Distance

Phonetic encoding algortihms:
- American Soundex
- Metaphone
- NYSIIS (New York State Identification and Intelligence System)
- Match Rating Codex

Example:
- The Levenshtein distance between "kitten" and "sitting" is 3.
- The soundex representation of both "Robert" and "Rupert" is "R163"

Usage

... | jellyfisher algorithm_name(fields_to_read_words_from)

Results will be written into a new field of the name of the chosen algorithm (ex: levensthein_distance)

Examples

... | jellyfisher levensthein_distance(sourcetype,source)
... | jellyfisher jaro_distance(user,sourcetype)
... | jellyfisher soundex(sourcetype)

Algorithms list

distance alogrithms:

  • levenshtein_distance
  • damerau_levenshtein_distance
  • jaro_distance
  • jaro_winkler
  • match_rating_comparison
  • hamming_distance

phonetic alogrithms:

  • soundex
  • nysiis
  • match_rating_codex
  • metaphone
  • porter_stem

Inputlookup

The following search is given as demonstration purpose to load a bunch of words (process names) from a CSV lookup file and then compute their distances using the map() command. This is not the perfect implementation, but a good example to start from :)

| inputlookup processNames.csv  
| map search="search index=windows | head 10 | stats count by process | eval pName = $processName$ | jellyfisher levenshtein_distance($processName$, process)" 
| table process, pName, levenshtein_distance

Release Notes

Version 0.1.0
June 21, 2017

299
Installs
597
Downloads
Share Subscribe LOGIN TO DOWNLOAD

Subscribe Share

AppInspect Tooling

Splunk AppInspect evaluates Splunk apps against a set of Splunk-defined criteria to assess the validity and security of an app package and components.

Are you a developer?

As a Splunkbase app developer, you will have access to all Splunk development resources and receive a 50GB license to build an app that will help solve use cases for customers all over the world. Splunkbase has 1000+ apps and add-ons from Splunk, our partners and our community. Find an app or add-on for most any data source and user need, or simply create your own with help from our developer portal.

Follow Us:
© 2005-2019 Splunk Inc. All rights reserved.
Splunk®, Splunk>®, Listen to Your Data®, The Engine for Machine Data®, Hunk®, Splunk Cloud™, Splunk Light™, SPL™ and Splunk MINT™ are trademarks and registered trademarks of Splunk Inc. in the United States and other countries. All other brand names, product names, or trademarks belong to their respective owners.