I've been using Evernote and it is pretty rich for setting a base hierarchy. Then, you can set all manner of tags and search on them. But, you have to be diligent to make the system really work for you.
You also have to learn not to be over-diligent. As a recent MD graduate and now third-year resident, I've found that it's all too easy to fall into the trap of thinking, "I'm going to build a database that contains ALL MEDICAL KNOWLEDGE." That database already exists: it is called PubMed, it's huge and unwieldy, and your Evernote will be too if you try to include everything in it. Worst of all, in a few short years, it'll be out of date. Blast.
The nice thing about M1/M2 year of medical school is that the knowledge base you are expected to acquire is (or should be) fairly well-defined. So Evernote (or any of the other database approaches discussed here) will probably work fine for that purpose. But as you move forward into your clinical training, you may want to clean out your Evernote and start over again, being rather more selective about how you curate it.
Nowadays, my personal rule is never to put anything clinical into my Evernote unless I've had to look it up 3-4 times. By that point, I know it's useful enough to have around (in a more easily accessible fashion than, say, UpToDate), but not so useful that I've already memorized it out of necessity.