For bboard it depends on what you are serching. For an entire thread the last modified date is the date the last post was entered. If you are searching individual postings, each one has a date. So there are two ways to search a bboard like this. Both are probably valid in different situations. This is why a search should probably search the database.
Perhaps we need each module to expose its content to a search in a certain format, and each module can decide what and how to offer that content. So we need an two sided search API. The search mechanism needs an API so a module can search the database. And another API for the module to offer up content to the indexer. Unfortunately I have no idea how to actualy build this.