Closed TheSeptembre closed 3 years ago
I tried searching "ni" (without quotes) and got a couple of results; the "ni" definition was in the 11th place. I also tried searching "ni" (with quotes) and got no results; are you talking about this case? The dictionary does not use a fuzzy search algorithm, it uses a substring match. Also, it functions as reverse dictionary too, it looks at the meanings when searching, not only at the word keys. Do you think it should use another algorithm? Which results were you expecting?
I was initially confused that ni
(without quote) did not bring the result at the top and thought it didn't work, whereas, as you make me notice now, it actually brings back results.
However, it's maybe confusing since we have as first result:
akesi : n non-cute animal, reptile, amphibian, dinosaur, monster akesi definition appear since "animal" contains ni.
✳ What I suggest as a light workaround:
💢 Possible issues with this:
_ also, thank you in general for this project, which is very simple and useful for toki pona community. ♥
I like those suggestions. I will try both and see which one makes more sense.
Also check out @LongJohn-Silver suggestion:
I still think that the best solution would be to add to search entries for the two languages […] Maybe instead of two search boxes it could be something like this, with two buttons to select the language
—https://github.com/jProgr/TokiPonaDictionary/issues/10#issuecomment-726249288
After some deliberation, I will implement the following solution: The current results will still show in the same way but for every exact match (that is, every entry in the dictionary that has a string that is exactly as the query) there will a duplicate of such entry that will be shown before the current results and will be highlighted somehow.
The considered solutions were the ones present in this issue and #10. I thought about the advantages and problems of each one:
"Highlight" solution.
"Bring first" solution.
"Multiple buttons" solution:
What do you think?
These are the principles I follow when taking any decision about the tool:
Maybe I should add these to the code.
After some deliberation, I will implement the following solution: The current results will still show in the same way but for every exact match (that is, every entry in the dictionary that has a string that is exactly as the query) there will a duplicate of such entry that will be shown before the current results and will be highlighted somehow.
I like it a lot and find it very elegant. Seems lightweight and might not confuse users. 👏
With the help of @mitaa the new search algorithm was implemented. While testing it out I noticed that a lot of the results between the exact matches and the partial ones were the same and the page usually ended up with the same word twice. And so I decided to remove the partial results and leave only the exact ones. The new release 210217 (currently live) has those changes.
Later I thought about showing the partial results if the exact results are empty, but I'm not sure.
Removing partial matches has made finding some words harder to find though
"ni" gives no result even if it is in the list