3 ms·
Pretty neat. I was considering doing something like this to create full text search inside of some newSQL type databases I've been looking at but don't support
by Keverw 6y ago
Pretty neat. I was considering doing something like this to create full text search inside of some newSQL type databases I've been looking at but don't support full text yet, like CockroachDB or YugabyteDB. I know some people use another system for search and try to synchronize everything but personally more things to manage and rather have a single source of truth.
Really wish I could find a prefect system where if you got popular wouldn't have to worry about changing the application where you just throw more servers at it, with incremental backup (sorta disappointed some charge extra for this and not included in the open source community version but I guess in the future could upgrade once your making $$$ and have a large enough dataset where backups are slow), full text search, reference integrity (so you can't delete a foreign key that's referenced - so no dangling references), etc... I guess can't get everything you wish for, but things are clearly better now than they were even a decade ago. So if starting a greenfield project, a lot more choices thankfully though.
- jordanlewis 6y agoI'd be happy to work with you to make it happen in CockroachDB if you were so inclined :) I added array inverted index support a little while ago in this PR: https://github.com/cockroachdb/cockroach/pull/45157 https://github.com/cockroachdb/cockroach/pull/45157 A simple full-text search engine would not be too different at the lower levels.
- Keverw 6y agoInteresting, a bit over my head. Haven't got into Go, into Typescript/Node but there's been some really cool Go project's I've came across. My idea was to just store an array of strings in JSON and generate a query by parsing the search query string, probably separating words out too could work do handle things like "required" or -required for boolean search and filtering out stop words. I keep changing my mind on things and still super early on my project still, so far I'm thinking CockroachDB for storing more transactional stuff, inventory, accounts, etc and then use MongoDB for chat, social feeds, logging, etc. I guess if I implemented my own search logic this way, could then give consistent search experience regardless if what they are searching is in the SQL or noSQL database too. I guess store things in lowercase too, last I looked CockroachDB didn't have PG's CITEXT but for search lowercase makes sense anyways, but maybe you want to search someone's fist name in support probably enter it lowercase while preserving the original casing for display uses.