It should not be complicated to add functionality to MarginNote for performing a real multi-term search, like this:
I.e., Source specifies a field to search, including can be including/is/starts from, and boolean operations AND/OR can be used to join search terms. Search terms that are not joined by booleans cause the results to be concatenated, which is a simple way to organize them.
I say “should not be complicated” to add this, because MarginNote uses a standard SQL database. All the heavy lifting is done by the database. I was able to write a basic app for searching my MN database, save searches, format notes and export RTF in 36 hours of time spent coding (the screenshot above is a working solution). I’m not a professional developer and there was no documentation or support, so it should be easier for the MarginNote team to do this.
Basically, I think it depends whether MarginNote really wants to reach an academic audience, or not. FWIW, I showed MarginNote to an anthropologist colleague. At first, she was excited to use MN for her research, but lost all interest due to the lack of advanced search. That was the deal-breaker. Without this functionality, she saw no point in buying/using MarginNote.