[{"data":1,"prerenderedAt":353},["ShallowReactive",2],{"project-9316722":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":18,"aspects":36,"strip":44,"post_text":46,"what":47,"said":93,"maker_in_thread":188,"shape":200,"grid":203,"attempts":315,"same_week":316,"maker_shows":45,"maker_hidden":345,"reader_version":346,"card":347},"9316722","autocompeter","Fast autocomplete service written in Go and JavaScript","title","Show HN: Fast autocomplete service written in Go and JavaScript","https:\u002F\u002Fautocompeter.com\u002F","autocompeter.com","peterbe",1428078062,2015,76,47,353,2565,14,"notable","infrastructure","autocomplete service","api",[24,25,26,27,28],"autocomplete","redis","typeahead","rest api","golang","mixed",-0.237,{"positive":32,"neutral":33,"mixed":34,"critical":35},2,6,1,5,{"idea":37,"execution":39,"docs":40,"design":41,"performance":42,"pricing":43},{"positive":38,"critical":34},0,{"positive":38,"critical":32},{"positive":38,"critical":38},{"positive":38,"critical":32},{"positive":38,"critical":38},{"positive":38,"critical":38},[34,45,38,45,38,38,38,38,38,34,38,38,38,38,38,38,38,38,38,38,38,34,38,38,34,38,34,38,45,38,38,38,38,35,45,35,45,45,38,45],3,null,{"problem":48,"audience":55,"pricing":59,"motivation":65,"time_to_build":46,"stack":69,"openness":90,"stage":91,"team_size":92},{"value":49,"source":50,"evidence":51},"Provides fast autocomplete suggestions via a REST API that sites can drop in","maker",[52],{"id":53,"by":11,"text":54},"9317382","Taglines are hard. I tried to make the tagline more \"end-user friendly\" instead of focusing on the tech. The people who implement it actually don't need to know how it's made.…",{"value":56,"source":50,"evidence":57},"Developers adding search autocomplete to their websites",[58],{"id":53,"by":11,"text":54},{"value":60,"source":50,"evidence":61},"Free service",[62],{"id":63,"by":11,"text":64},"9318783","It started as a side-project and still is. I'm the creator of the service and my day job is as a web developer at Mozilla. If this service becomes surprisingly popular I'll look…",{"value":66,"source":50,"evidence":67},"Side project; needed a service for a work site and wanted to avoid copying a prototype",[68],{"id":63,"by":11,"text":64},[70,78,83],{"value":71,"source":50,"evidence":72},"Go",[73,74],{"id":53,"by":11,"text":54},{"id":75,"by":76,"text":77},"9317107","lazyjones","Meh, it's a decent and properly commented implementation, but the interesting stuff is done by Redis, not in Go. I wrote a similar service (JS+Go) 2 years or so ago using only…",{"value":79,"source":50,"evidence":80},"JavaScript",[81],{"id":82},"post",{"value":84,"source":50,"evidence":85},"Redis",[86,89],{"id":87,"by":11,"text":88},"9317301","There is a database. It's redis. It's persistent.",{"id":53,"by":11,"text":54},"open_source","launched","solo",{"praise":94,"objections":95,"requests":119,"questions":138,"alternatives":160},[],[96,105,112],{"value":97,"source":98,"evidence":99},"Redis-based speed credited more than Go implementation","commenter",[100,104],{"id":101,"by":102,"text":103},"9317181","doomspork","It is fast because Redis, which provides the storage, is considerably fast at the tasks necessary to implement such a service. Go has last little to do with it.",{"id":75,"by":76,"text":77},{"value":106,"source":98,"evidence":107},"No spelling-mistake suggestions",[108],{"id":109,"by":110,"text":111},"9317806","bad_user","It would have been nice to give suggestions even if you make spelling mistakes.",{"value":113,"source":98,"evidence":114},"Autocomplete flickered while typing",[115],{"id":116,"by":117,"text":118},"9318530","amelius","Comments: 1. The focus should be on the search box when the page is loaded. 2. While typing the word \"javascript\", sometimes the amount of results shrinks and immediately…",[120,127,134],{"value":121,"source":98,"evidence":122},"Fuzzy matching for misspellings",[123,124],{"id":109,"by":110,"text":111},{"id":125,"by":11,"text":126},"9317928","Yeah I agree. A Levenshtein distance shouldn't perhaps be too hard.",{"value":128,"source":98,"evidence":129},"Support for Rust",[130],{"id":131,"by":132,"text":133},"9318357","grigio","and rust ?",{"value":135,"source":98,"evidence":136},"Focus search box on page load",[137],{"id":116,"by":117,"text":118},[139,146,153],{"value":140,"source":98,"evidence":141},"How is it fast, given there is no database server-side",[142],{"id":143,"by":144,"text":145},"9317175","afshinmeh","Ok, what `fast` means here? There is no database for the server-side project.",{"value":147,"source":98,"evidence":148},"How can it be offered for free",[149],{"id":150,"by":151,"text":152},"9318763","aceperry","I wonder how they can do this for free?",{"value":154,"source":98,"evidence":155},"Does it support unicode",[156],{"id":157,"by":158,"text":159},"9317332","reinhardt1053","Does it support unicode?",[161,168,175,181],{"value":162,"source":98,"evidence":163},"Apache Solr with Varnish",[164],{"id":165,"by":166,"text":167},"9317528","corford","I've found Apache Solr the best approach to building a flexible, fast auto-complete service. Solr can spit results back in json so it's dead easy to write a simple API wrapper in…",{"value":169,"source":98,"evidence":170},"soulmate (Redis + Ruby gem)",[171],{"id":172,"by":173,"text":174},"9317290","mosburger","Yeah, where I work we use another redis + ruby gem that the seatgeek guys wrote called soulmate. https:\u002F\u002Fgithub.com\u002Fseatgeek\u002Fsoulmate",{"value":176,"source":98,"evidence":177},"autocomplete-me (Ruby and Redis)",[178],{"id":179,"by":102,"text":180},"9317158","I put together an autocomplete service using Ruby and Redis but rather than dealing with the network latency of a remote service I decided to package it up so it could be mounted…",{"value":182,"source":98,"evidence":183},"Elasticsearch",[184],{"id":185,"by":186,"text":187},"9317891","ericwaller","Heh, I always feel a bit bad when people mention this since we're not using it ourselves anymore. Though it's a nice and easy way to get going quickly if you're already running…",{"comments":189,"answered":35,"key":190},21,[191,194,197],{"id":192,"text":193},"9317541","Thank you!",{"id":195,"text":196},"9317464","Annoying. Must be a bug in ReadTheDocs or something https:\u002F\u002Fgithub.com\u002Fpeterbe\u002Fautocompeter\u002Fblob\u002Fmaster\u002Fdocs\u002Fapi.md#uniqueness-of-the-url",{"id":198,"text":199},"9317536","Actually, local mkdocs gets it right. Only on readthedocs does it get screwed up.",{"commenters":201,"max_depth":35,"maker_replies":189,"first_comment_mins":32,"lifespan_hours":202},20,69,[204,206,210,212,216,218,219,222,224,227,230,233,236,240,243,244,245,247,249,251,252,255,257,260,262,264,267,269,271,275,276,278,279,282,284,286,288,289,293,298,301,302,304,306,309,312,313],[165,38,34,205,166,38],"project\u002Fcritical\u002Fidea",[207,34,45,208,209,38],"9317485","maker\u002Fneutral\u002Fexecution","AYBABTME",[192,34,38,211,11,34],"maker\u002Fpositive\u002Fnone",[213,32,45,214,215,38],"9317446","maker\u002Fmixed\u002Fdocs","mmccaff",[195,32,38,217,11,34],"maker\u002Fneutral\u002Fdocs",[198,32,38,217,11,34],[220,32,38,221,215,38],"9317555","commenter\u002Fneutral\u002Fdocs",[223,32,38,217,11,34],"9317605",[225,32,38,226,11,34],"9318786","maker\u002Fneutral\u002Fnone",[228,45,38,229,11,34],"9316734","project\u002Fneutral\u002Fnone",[75,231,34,232,76,38],4,"project\u002Fcritical\u002Fexecution",[234,231,38,235,11,34],"9317297","project\u002Fneutral\u002Fperformance",[237,231,38,238,239,38],"9317511","commenter\u002Fneutral\u002Fnone","chralieboy",[241,231,38,238,242,38],"9319291","jamra",[179,35,38,238,102,38],[172,35,38,238,173,38],[246,35,38,238,11,34],"9317315",[248,35,38,238,102,38],"9317620",[250,35,38,238,102,38],"9317558",[185,35,38,238,186,38],[253,35,38,238,254,38],"9318735","Jemaclus",[256,35,38,238,173,38],"9327806",[258,35,38,259,11,34],"9317348","project\u002Fneutral\u002Fexecution",[261,35,38,238,102,38],"9317665",[116,33,34,263,117,38],"project\u002Fcritical\u002Fdesign",[265,33,38,266,11,34],"9318769","maker\u002Fneutral\u002Fdesign",[268,33,38,259,11,34],"9319137",[270,33,38,259,11,34],"9319140",[272,273,34,263,274,38],"9317323",7,"jbeja",[53,273,38,266,11,34],[109,277,34,232,110,38],8,[125,277,38,208,11,34],[280,277,38,281,11,34],"9317941","project\u002Fneutral\u002Fidea",[143,283,45,235,144,38],9,[101,283,38,285,102,38],"commenter\u002Fneutral\u002Fperformance",[287,283,38,235,11,34],"9317320",[87,283,38,229,11,34],[290,291,38,292,11,34],"9317621",10,"other\u002Fneutral\u002Fnone",[294,295,35,296,297,38],"9317597",11,"project\u002Fpositive\u002Fnone","marcinbejm",[150,299,45,300,151,38],12,"project\u002Fneutral\u002Fpricing",[63,299,38,300,11,34],[303,299,35,296,151,38],"9319867",[157,305,45,259,158,38],13,[307,305,45,229,308,38],"9317339","remi",[310,305,38,311,11,34],"9317357","project\u002Fpositive\u002Fexecution",[131,18,45,229,132,38],[314,18,38,229,11,34],"9318443",[],[317,322,327,331,336,341],{"id":318,"name":319,"points":320,"category":321},"9340246","Kaiwa",339,"productivity",{"id":323,"name":324,"points":325,"category":326},"9332718","Frontend HQ Pinger",199,"dev_tools",{"id":328,"name":329,"points":330,"category":326},"9309877","AtomPair",127,{"id":332,"name":333,"points":334,"category":335},"9328006","Crudlet.js",94,"languages",{"id":337,"name":338,"points":339,"category":340},"9329048","Quant News",73,"finance_crypto",{"id":342,"name":343,"points":344,"category":321},"9342148","Sameroom.io",71,false,"v2",{"id":348,"name":5,"line":6,"ai":345,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":349,"top":18,"kw":350,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":351,"url":9,"mix":352,"praise":-1,"objection":97,"sub":21},9316722,-0.24,[24,25,26,27,28],"1303000001000000000001001010300005353303",[32,33,34,35],1794036530016]