Best practice about internal data object storage

What is the best way to store a bunch of structs etc for internal use?

e.g. definition of weapons, enemies etc. What stats they have, which mesh to use.

Currently I store them in a list I define somewhere, but it feels rather hackish and is not really useful for searching.
Something that has usability of a lightweight DB would be useful for something like this.