Better dictionary search functionality

Started by brett.gildersleeve, June 19, 2007, 11:06:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

brett.gildersleeve

Sorry if this has been mentioned before.

I'd like to see some improvement in the dictionary search algorithm.  There are many situations in which it is very difficult to find what you are looking for.  Here are some examples of changes I'd like to see:

(1)  English multi-word search

Let's say I'm looking for 暗記する, which means "to learn by heart."  Here's the EDICT definition:
暗記   あんき   memorization; memorisation; learning by heart   

To search for this entry, I type in "learn."  No luck.
Next is "learning."  Nope.
"Learn heart"
"Learning heart"
"Learn by heart"
"Learning by heart"

None of these searches give me the word I'm looking for, even why I type in the definition EXACTLY.
So, something needs to change there.  In my opinion, the definition should appear after any of those searches.

(2)  English single-word search, multi-word definition

Let's say I want to search for "Tank," taking the meaning of military vehicle.  Here is the EDICT definition:
戦車   せんしゃ   tank (military vehicle)

Currently there is NO WAY to search for this word.  First I search for Tank and get this:
タンク   タンク   tank   
槽   そう   (1) cistern; bath; tank; chamber; (2) bunker (coal); (3) cell (electrical); (4) vessel

Then I type "Military," guessing it might help, and get this:
軍事的   ぐんじてき   military
軍事上   ぐんじじょう   military; strategic

Then "vehicle":
ビークル   ビークル   vehicle
媒介物   ばいかいぶつ   medium; agency; carrier; vehicle
乗り物   のりもの   vehicle
乗物   のりもの   vehicle
車   くるま   car; vehicle; wheel

So, I can't find tank.  Even if I search for "tank (military vehicle)," which is the exact definition.

Stackz doesn't find it because it seems to only look at the full definition - tank (military vehicle) - and doesn't look at its parts.  So, if the algorithm could be changed to look at all words in the definition, I would be able to find it by searching for "tank," "military," OR "vehicle."  Or, if the multi-word search was implemented as describe above in (1), i could search for "tank military" or "tank vehicle" to find it.

(3)  Wildcards

This one's easy.  If I type in * hand, I want to find all words that end with hand.
Left hand, Right hand, underhand... etc.
If I search for 日, I only get one definition... but I'd like to type in *日 for all words ending in *日, or 日* for all words starting with 日, or *日* for all words containing 日.

Note that wildcards would solve the problem above...
In (1) I could search for *heart or learn* or *heart* or *learn*.  This would give me a lot of definitions to read through, like heart attack, heartache, learning, etc.  But at least I'd find what I was looking for.
In (2) I could type in *tank* and get anything from tanker to gas tank.

Hope you like these suggestions.

Chris

Thanks for the bug reports and the suggestion.

I guess something is wrong with your index file, my attempts return the results for learning and tank flawlessly. Please try regenerating it, or using the original one.

Note that you *can* find all words ending (ctrl+e) and starting with a certain string (ctrl+h) , and at a certain position (ctrl 1...6). You'll find it in the filter pane of the dictoinary (>>> button).

Thanks for the wildcard suggestion!

brett.gildersleeve

WOAH!  :o

Well, that saved the day.  Searches that used to turn up just one result are now showing tens or hundreds.  THANKS!  ;D

Chris

good to hear that it works... what was the problem? Maybe there is a problem with the index generator?

brett.gildersleeve

Yes, I re-generated the indecies and it seemed to work.  Not sure why they were messed up before.  I seem to remember re-generating on Beta 1, but I don't recall.  Maybe not.  Sorry, I wish I knew more!

Chris

OK, thanks.
I move this to the solved folder, even though there is a potential problem with the index generation/handling.