[{"data":1,"prerenderedAt":161},["ShallowReactive",2],{"project-2698905":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":28,"sentiment":29,"stance_mix":30,"scored_comments":33,"aspects":34,"strip":39,"post_text":41,"what":42,"said":52,"maker_in_thread":97,"shape":105,"grid":108,"attempts":124,"same_week":125,"maker_shows":31,"maker_hidden":154,"reader_version":155,"card":156},"2698905","TinySearchEngine","TF-IDF search engine in 30 lines of Scala","title","Show HN: TF-IDF search engine in 30 lines of Scala","https:\u002F\u002Fgithub.com\u002Ffelipehummel\u002FTinySearchEngine","github.com","felipehummel",1309117703,2011,43,8,286,1097,27,"shown","languages","search engine library","library",[24,25,26,27],"tf-idf","scala","search engine","vector space","mixed",0,{"positive":31,"neutral":32,"mixed":31,"critical":31},1,2,5,{"idea":35,"design":36,"execution":37,"performance":38},{"positive":29,"critical":31},{"positive":29,"critical":29},{"positive":31,"critical":29},{"positive":29,"critical":29},[40,29,40,33,29,31,29,40],3,null,{"problem":41,"audience":41,"pricing":41,"motivation":41,"time_to_build":41,"stack":43,"openness":50,"stage":51,"team_size":51},[44],{"value":45,"source":46,"evidence":47},"Scala","maker",[48],{"id":49},"post","open_source","unknown",{"praise":53,"objections":62,"requests":70,"questions":75,"alternatives":83},[54],{"value":55,"source":56,"evidence":57},"Impressive compact implementation for a search engine","commenter",[58],{"id":59,"by":60,"text":61},"2700155","whakojacko","As someone who works on search and is a scala fan, I'm super impressed. Next obvious question: how many lines would it take to add some sort of stemming?",[63],{"value":64,"source":56,"evidence":65},"TF-IDF is not relevant for a tiny in-memory index",[66],{"id":67,"by":68,"text":69},"2700021","freakinasshowl","i don't think tf-idf relevant for tiny in-memory index >__>",[71],{"value":72,"source":56,"evidence":73},"Add stemming support",[74],{"id":59,"by":60,"text":61},[76],{"value":77,"source":56,"evidence":78},"How long did indexing take on a large dataset",[79],{"id":80,"by":81,"text":82},"2703255","boyter","Out of curiosity how long did that take to index?",[84],{"value":85,"source":56,"evidence":86},"Python vector space search implementations",[87,90,93],{"id":88,"by":81,"text":89},"2700168","You can do the same in Python (in about the same amount of lines I suspect). The below is the core of the linked implementation (Vector Space) in 15 lines of Python. All you need…",{"id":91,"by":81,"text":92},"2704075","Cannot edit anymore, but here is an example I had written some time ago in Python. http:\u002F\u002Fwww.wausita.com\u002F2010\u002F08\u002Fbuild-vector-space-search-engine-python\u002F",{"id":94,"by":95,"text":96},"2699742","DrJosiah","A bit opaque, but cute. I've got a Redis + Python version (keeps the index in Redis) that I talked about last year:…",{"comments":32,"answered":31,"key":98},[99,102],{"id":100,"text":101},"2701034","Maybe in a couple of lines we could do a very naive plural removal. I've seen code for stemming, they have tons of different conditions and possibillities, I guess it would be…",{"id":103,"text":104},"2701023","The index does not have to be tiny, the source code is. I tested with a 500k documents dataset.",{"commenters":33,"max_depth":40,"maker_replies":32,"first_comment_mins":106,"lifespan_hours":107},356,33,[109,111,113,115,117,119,121,123],[88,29,40,110,81,29],"project\u002Fneutral\u002Fidea",[91,29,29,112,81,29],"commenter\u002Fneutral\u002Fnone",[94,31,40,114,95,29],"project\u002Fmixed\u002Fdesign",[59,32,33,116,60,29],"project\u002Fpositive\u002Fexecution",[100,32,29,118,11,31],"project\u002Fneutral\u002Fexecution",[67,40,31,120,68,29],"project\u002Fcritical\u002Fidea",[103,40,29,122,11,31],"maker\u002Fneutral\u002Fperformance",[80,40,40,122,81,29],[],[126,131,136,141,145,150],{"id":127,"name":128,"points":129,"category":130},"2698494","lilqr",203,"dev_tools",{"id":132,"name":133,"points":134,"category":135},"2709720","Freeversation",165,"productivity",{"id":137,"name":138,"points":139,"category":140},"2710660","Overlap.me",112,"consumer_social",{"id":142,"name":143,"points":144,"category":130},"2701908","Tigger",77,{"id":146,"name":147,"points":148,"category":149},"2706170","BitWillet",40,"web_saas",{"id":151,"name":152,"points":153,"category":149},"2701984","My project 72hdeals",15,false,"v2",{"id":157,"name":5,"line":6,"ai":154,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":158,"maker":11,"domain":10,"tier":19,"attempts":29,"strip":159,"url":9,"mix":160,"praise":55,"objection":64,"sub":21},2698905,[24,25,26,27],"30350103",[31,32,31,31],1793990873498]