any pointers <https://github.com/typesense/typesen...
# contributions
t
k
👋 Happy to point you to the right place to make changes here. Have you been able to compile Typesense locally? That would be the first starting point. Are you on Linux?
t
Hi, yes. Ubuntu 20.04 and mac os catalina.
both done.
if you can let me know what you think would be accetable pr for you, i will create one.
k
Ok cool, it's probably easier to use Linux. Please use the single-index-concurrency branch. That's the branch that's going to be merged to master soon.
I will describe the changes required here in a bit. Let me know once you are able to compile that branch and run the tests. There is development.Dockerfile that contains list of dependencies to install for Ubuntu.
t
ok! ubuntu 20.04 or 18.04, anything you suggest? Linux debian?
k
Ubuntu 20 is fine.
👍 1
Are you familiar with cmake and cpp ecosystem?
t
i have written few research papers on these with linux, just to save our time to get to know about a new contributor https://www.linkedin.com/in/tapaswenipathak
k
That's cool! Here's how the tokens are dropped from the query: https://github.com/typesense/typesense/blob/single-index-concurrency/src/index.cpp#L2949 We drop from right until the middle of the query, and then we drop the left until the middle. What we want to do now is to make this behaviour configurable, with the default behavior unchanged but allowing people to choose left -> right or right -> left as options. This will require introducing a new parameter to the
search_field
function and its parent functions. The API level configurations are managed in this function here: https://github.com/typesense/typesense/blob/single-index-concurrency/src/collection_manager.cpp#L515
Let me know if you have any questions. Once you have got a skeleton going, I can also describe where to add tests.