This is probably better
addressed by sending to us at
sup...@soundminer.com. But below is my
answer in the hopes it helps others.
1. Your database is a server database which makes it fundamentally
different than a local database. Mysql controls a minimum word length
in its configuration. The default is 4 characters so 'up' would not be
searched if still set this way. In general, we usually change that
config to 2 characters. I would check that as rebuilding your database
will not accomplish anything in this case.
The config can be changed using Mysql's workbench tool(variables) if you
are using a standard binary installation. If using a MAMP based
install, then within mamp>Edit Template>Mysql config will provide
the parameters for the min word length modification. Service would have
to be restarted for it to be in effect.
2. Some clarification between Boolean and Iterative searching as it
pertains to general approaches to searching.
The main search area is optimized for searching 'terms' not characters
contained in say a filename. If
you go to the Database>Modify search indexes
field(Database>Change Full Text for HD users) what fields are
checked for that specific database? These are the fields searched for
terms when using the main search field and is what we call the
Full
index. Most advanced databases use this technique to search fast
across key fields. Minimum character limits are imposed: local
databases are hard-coded to 2, but mysql is freely set(default is 4).
It never searches every single field or internal character matches
contained within words as this would prove quite slow.
If
you want to search something that isn't a term, like a filename or
combination of characters within, then 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.
Boolean search (main search)
When
doing a search in the FIND box the engine looks for 'terms' in its full
index for your entered criteria(remember a space acts as an AND, comma
operates as an OR and a minus sign means NOT to the Boolean parser). A
‘Full index’ is used by all robust databases engines. This type of
search routine pre-builds a specialized search field(full index) based
on the search indexes the user has selected(see menu MODIFY SEARCH
INDEXES). In this way, it can increase speed and efficiency. In
Soundminer’s case, 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. This is a more
restricted search but
more accurate and faster.
This allows you to do
advanced searches like 'wind (gusty, blow) -window' (look for wind
sounds that also have either 'gusty' or 'blow, blowing' and then omit
anything that has window. So it looks for words that match the
modifiers AND, OR, NOT but does not look within words. so if all you
have is a filename like TrafficNewYorkHeavyDaytime.wav and nothing else
and type in 'Heavy traffic New York' it won't be found because there are
no terms in the metadata fields. So having proper metadata is key.
Without such, you have filenames and folders
and
that's where iterative searching comes into play.
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.
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.
steve pecile
soundminer
Rodrigue Amyot wrote: