Searching in Soundminer Primer

Soundminer offers many ways to search which we cover in the Quickstart and in the Browsing section of this manual. An important concept to understand is the differences between Boolean and Iterative searching as doing so will help you chose with way to search.

Below is some background on the way searching works which hopefully will make things clearer. In general, what is searched in the main search window are complete words(terms) based on boolean principles. This is a fancy word for using AND, OR, NOT modifiers to create complex search syntax. A space is considered an AND statement, a comma is an OR statement and minus/dash is a NOT or omit statement.

In this example we are looking ‘rock’ music that must also contain one of the follow terms, ‘heavy, metal, hard’ and returns should omit any references to the term ‘pop.’ In order to accomplish this complex search fast, it depends on something called a full index. This is an amalgam of selected field that contain the most critical metadata that has been pre-built for this kind of search. It does NOT search every single field or character - that would be too slow on any large database. If you go to the Database>Modify search indexes field up to 16 field/columns can be selected to be part of the Full Index.  Only these fields are searched and only under boolean principles. It never searches every single field for character matches as that would be slow and inefficient.

This can of course create potential issues: For example, searching something like ‘SCI-FI’ presents as issue in the boolean world and the main search bar is a boolean search bar.  The dash is reserved for a minus/omit search so to escape it you would have to wrap the term in quotes - “sci-fi"

Also worth noting the engine applies its search by first going to the Thesaurus to do a lookup and stem of the words if turned on then applies that to the search indexes but does not do a ‘Contains’ search. It would only bring back records that begin with your search, its synonyms and stems and only within the full index fields and have a minimum 3 characters in the term. This is a more restricted search but more accurate and faster.

If you want to search something that isn’t a term, like a filename, or something with special characters like a hyphenated phrase, then use the trick noted above or you can use cmd-shift-F(advanced search) to exit normal boolean logic or use the search in right pane option and search for ‘contains’ character iterative searches. These two routines are VERY different and if understood by the user can be advantageous depending on what they desire. The expectation should NOT be they would return the same thing.

So with that in mind, hopefully you can see why having metadata is so critically important. If all you have are filenames like ‘HeavytrafficNewYork’ it won’t be found because there are no terms in the metadata fields making iterative searching your only option.

Iterative Searching - Searching in the Advanced or Search in Field or Right Pane for example produces a query where the terms are searched iteratively in that single specified field or according to the query string created in the Advance Search window. The query looks for that set of characters anywhere in the string - it could be at the beginning, end or in the middle of the word. This will no doubt produce many more returns but the process for finding is much slower as it has to compare each character. V4.5pro additionally has a search index option so you can search that index for iterative matches as well.

For example, if looking for ‘growl’ in a set of files that have little or no metadata but in the filename contains ‘doggrowlinsmallroom.wav’. then this method looks for this set of characters and has to iterate over each character to find matches.  It is used when you have little metadata to go on or the characters are run together thereby not allow term searching. the drawback is it is much slower but if file have no real metadata as in the example you supplied, then Advanced search (or iterative searching) is the method to use.

In addition, the system also auto-breaks apart filenames if they have Capitalizations

ie.  DogGrowlResidentialCity.wav would be auto loaded in the keywords field as ‘Dog Growl Residential City’ thereby making it work in the boolean routine.

Also, in the Advanced Search pane, there is an option to search the Full Index but iteratively as another option - this would be useful when you don’t know where the characters exists but likely lie within the full index fields.

© 2020 Soundminer Inc.