Searching doesn't work as you might think when building index from multiple metadata elements
|Reported by:||mdewsnip||Owned by:||kjdon|
If you build an index like:
and then try to search for "X and Y" in this index (where X is a title and Y is an author) it will not match. This is because what is indexed by MGPP looks like:
<Sec> <DC>X <DC>Y </Sec>
and MGPP won't match both X and Y because they come from different fields (even though it is one index). Searching for "X" in DC and "Y" in DC would probably work, but this can't be done from a simple query form. The only way I could find to get the search to succeed was to use the "ZZ" index, and this was a pain in the ass (and not always appropriate).
It's not clear whether this is a bug or a feature. Katherine suggested joining all the values together when indexing, to look like:
<Sec> <DC>X Y </Sec>
This would fix the problem, but there are cases where this isn't desirable. Searching for text at section level is one example. There will be other cases where you only want the search to match if all the query terms match in one field as well. This is a very fundamental aspect of the indexing so changing anything is potentially dangerous.
Katherine and I decided to document this issue here, but leave changing anything until someone has a clearer idea of how often this is a problem, and how best to fix it.