Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "algolia"
Need Advice + Rant
I am an Android Developer, pursuing an Internship, which i thought would be good for my career. But I am being assigned the task to build search feature for the App using Elastic Search. I intially was halpy to work on Search since it had to be Algolia. I am hating the work now because I am getting so stuck with Elastic and there have been other factors which also have decreased my productivity, but I am being quite inefficient. Now the deadlines are coming closer and if I dont give output I will be laid off. I am thinking about quitting myself because now I feel extremely demoralized and demotivated to work because we first decided to work on Algolia and it was all ready before we thought of shifting to heroku and now on AWS. What do the experienced once suggest? It's not that its impossible to do, now i just have to write queries in Java, again I am stuck and not really looking forward to since I was given the deadline today, for 2 days later.
The only issue is, I may have to return the new phone (OnePlus 3T) which I bought planning to later return the money to someone through my stipend.23
So, since almost a week I was trying to get familiar with Algolia which was to be used as API for the search feature in our App. But now, we are going with Elastic Search.
I don't even really know where to start, so I figure I'll just throw this out there and see where it goes.
My daughter is disabled. She's in sports and dance, but it's taken my wife and I years to find out about the organizations she's now in, and that's mostly through word of mouth. Other families have told us because they've had the years of experience that we didn't. And now we're passing the information on to other less experienced families. And that's a problem that everyone we've talked to agrees upon: there's really no good way of discovering what organizations are out there, and what they can help with.
There exist some sites out there like https://challengedathletes.org/reso... which are really just lists of sites, but really nothing more to indicate that this group has wheelchair basketball, that group has adaptive ballet, that kind of thing. So I'm thinking, what if I built a site that provided an index. Searchable, faceted, like Algolia or AWS Cloudsearch. That part I can do. But how would I go about gathering the information? Could I somehow scrape it? If so, how do I organize it? Do I crowdsource by petitioning /r/disability, the Facebook support groups my family belongs to, and other places across the interwebs?
I can design the data model. I can build the webapp. I can make it fast and pretty and easy to use. But how do I get the data?2
"So our price widget doesn't allow decimals, you'll have to create a custom widget"
I do it.
"Hey, It's not working and I verified it's applying the filter correctly. I noticed my price is a string in your index, maybe that's incorrect and causing it to not work?"
They say: "Yep, you'll need to run an update to fix that and change all to floats" (charges an arm and a leg for the thousands of index operations needed to update the data type)
I clear the index and send a single one as a test, verifying it's a float by casting it using (float) then var_dumping. It shows "double(3.99)", but when it gets to Algolia, it's 0.
So I contact support.
"Hi, I'm sending across floats like you say but it's receiving it as 0, am I doing something wrong? Here's my code and the result of the var_dump"
They respond: "Looks like you're doing it right, but our log shows us receiving 3.999399593939, maybe check your PHP.ini for "serialize_precision" and make sure it's set to -1"
I check and it's fine, then I realize that var_dump is probably rounding to 2 decimal points so I change my cast to (float) number_format($row['Price'], 2) and wallah...it works.
Now I've wasted days of paying for their service, a ton of charges for indexing operations, and it was such a simple fix.
if they had thrown an error for the infinite decimal, that would have helped, but instead I had to reach out to find out that was the issue.
Integrating Algolia with Firebase cloud functions and a solid Js/Ts framework (or even Vanilla Js!) is definitely mint fuckin titties, I highly recommend checking it out if that's a solution you need.