Ferret

Dev tools

search library

SHOW HN2013

145points
41comments
#139of 1,739 in 2013
Top 8%of 2013 by points

How HN took it

CuriousMostly questions and neutral comments

3 positive, 11 neutral or asking, 0 mixed, 8 critical, out of 22 comments about the project. Thread score -0.24.

Idea: 2 for, 2 againstPricing: 0 for, 3 againstExecution: 1 for, 2 againstPerformance: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Go is a good fit for a small, efficient search library

    From 2 comments
    • Very cool. Considering that the core functionality you want is done in less than 500 LOC (https://github.com/argusdusty/Ferret/blob/master/ferret.go) it seems a great way to go…
      fspeech on HN
    • nice. I've been waiting to see some full-text search engine in Go for a while to compete with the omnipresent Lucene. Things like Go's low memory footprint could give it an…
      drsintoma on HN
  • Suffix arrays used in practice is interesting

    From 1 comment
    • It's nice to see suffix arrays being used in the real world. For anyone who is interested in suffix arrays, the following to papers are recommended: * Suffix arrays: A new method…
      danieldk on HN

Objections

  • Lucene or Elasticsearch would have been a simpler choice

    From 1 comment
    • This is cool. However, I wonder why the author didn't switch to a Lucene-based server such as Elasticsearch or Solr, for which you can find decent Go clients (or use the REST api…
      diego on HN
  • Hosting cost and engineering time are not worth it for a small startup

    From 3 comments
    • $150/month can buy you a very very good dedicated server. http://www.hetzner.de/en/hosting/produkte_rootserver/ex10
      rorrr2 on HN
    • What are you valuing your time at? That sounds like shaky logic at best, especially considering how much work it sounds like this took.
      thedufer on HN
    • This is cool. However, I wonder why the author didn't switch to a Lucene-based server such as Elasticsearch or Solr, for which you can find decent Go clients (or use the REST api…
      diego on HN
  • Lacks phonetic or spelling-agnostic matching

    From 2 comments
    • I'd say having spelling agnostic search would be crucial. I searched yesterday on google play music for an artist I'd heard of that sounded something like "n door" so I typed…
      damian2000 on HN
    • There are two methods that are more typically known in the context of substring search that may help you get something even better than your prefix + Levenshtein distance 1…
      DrJosiah on HN

Requests

  • Add phonetic matching module

    From 1 comment
    • This is a good idea :) I'll probably add in a module for phonetic matching when I get the time.
      argusdusty on HN

Questions

  • Why not use a trie or Boyer-Moore instead

    From 2 comments
    • 4MB? Wouldn't boyer-moore, or a trie be very efficient for this?
      fleitz on HN
    • I don't understand why the trie would take quadratic memory. I would expect it to be high-constant linear. Can you explain?
      thedufer on HN

Alternatives named

  • Lucene, Elasticsearch, Solr

    From 2 comments
    • This is cool. However, I wonder why the author didn't switch to a Lucene-based server such as Elasticsearch or Solr, for which you can find decent Go clients (or use the REST api…
      diego on HN
    • Things like Go's low memory footprint could give it an important advantage in this area. You know that there is a C++ version of Lucene? http://clucene.sourceforge.net/ There's…
      danieldk on HN
  • CLucene, Xapian, Sphinx, Apache Lucy

    From 3 comments
    • Things like Go's low memory footprint could give it an important advantage in this area. You know that there is a C++ version of Lucene? http://clucene.sourceforge.net/ There's…
      danieldk on HN
    • I hadn't realized that CLucene was still active, thanks! Apache Lucy is another option that might appeal if you consider Lucene bloated. It's written in C, and while there aren't…
      nkurz on HN
    • As for other non-Java Lucene alternatives, Sphinx works great, is compact and the C++ code is fairly easy to pick up enough of to make modifications if needed:…
      vidarh on HN
  • Metaphone and Double Metaphone for phonetic matching

    From 1 comment
    • There are two methods that are more typically known in the context of substring search that may help you get something even better than your prefix + Levenshtein distance 1…
      DrJosiah on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/6297225)