How often will you need to perform the search? Is it a one-off find operation, or is this something you'll be doing frequently?
I vaguely remember reading somewhere that Oracle recommends full table scans for tables <5000 rows, because the cost of maintaining the index exceeds the cost of the full scan.
But the way to determine the best solution is first to define "best" - include stuff like memory used, speed of search, programming time and any other relevant factors, and only you can do that, then you can run trials on the different approaches, taking everything into account: not just search time but also index maintenance, whether the table is read-only or sorted, how often it gets updated, how often you run searches, and this will eventually lead you to the most optimal solution.