Bug #3259
closed
Add fields used in Morpho search to the default indexPaths property
Added by ben leinfelder over 16 years ago.
Updated over 16 years ago.
Description
Compound searches issued from Metacat (with "combine constraints from all tabs") uses certain EML elements in the pathquery that are not exactly included in the default metacat indexPaths list (in build.properties).
We should ensure that those match so that searching within Morpho is optimized like it is on the web.
here is a sample of the pathquery generated in Morpho
<pathquery version="1.2">
<local_search>true</local_search>
<network_search>false</network_search>
<querytitle>Untitled-Search-5</querytitle>
<returndoctype>-//ecoinformatics.org//eml-dataset-2.0.0beta4//EN</returndoctype>
<returndoctype>-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN</returndoctype>
<returndoctype>-//NCEAS//eml-dataset-2.0//EN</returndoctype>
<returndoctype>-//NCEAS//resource//EN</returndoctype>
<returndoctype>eml://ecoinformatics.org/eml-2.0.0</returndoctype>
<returndoctype>eml://ecoinformatics.org/eml-2.0.1</returndoctype>
<returndoctype>edml://ecoinformatics.org/edml</returndoctype>
<returndoctype>http://www.imsglobal.org/xsd/ims_qtiasiv1p2</returndoctype>
<returnfield>dataset/title</returnfield>
<returnfield>individualName/surName</returnfield>
<returnfield>keyword</returnfield>
<returnfield>entityName</returnfield>
<querygroup operator="INTERSECT">
<querygroup operator="UNION">
<querygroup operator="UNION">
<queryterm searchmode="contains" casesensitive="false">
<value>tuber</value>
<pathexpr>title</pathexpr>
</queryterm>
<queryterm searchmode="contains" casesensitive="false">
<value>tuber</value>
<pathexpr>abstract</pathexpr>
</queryterm>
<queryterm searchmode="contains" casesensitive="false">
<value>tuber</value>
<pathexpr>keyword</pathexpr>
</queryterm>
</querygroup>
</querygroup>
<querygroup operator="UNION">
<querygroup operator="INTERSECT">
<queryterm searchmode="contains" casesensitive="false">
<value>Species</value>
<pathexpr>taxonomicClassification/taxonRankName</pathexpr>
</queryterm>
<queryterm searchmode="contains" casesensitive="false">
<value>tuber</value>
<pathexpr>taxonomicClassification/taxonRankValue</pathexpr>
</queryterm>
</querygroup>
</querygroup>
<querygroup operator="INTERSECT">
<queryterm searchmode="less-than" casesensitive="false">
<value>-14.0</value>
<pathexpr>northBoundingCoordinate</pathexpr>
</queryterm>
<queryterm searchmode="greater-than" casesensitive="false">
<value>-39.0</value>
<pathexpr>northBoundingCoordinate</pathexpr>
</queryterm>
<queryterm searchmode="less-than" casesensitive="false">
<value>52.0</value>
<pathexpr>westBoundingCoordinate</pathexpr>
</queryterm>
<queryterm searchmode="greater-than" casesensitive="false">
<value>0.0</value>
<pathexpr>westBoundingCoordinate</pathexpr>
</queryterm>
</querygroup>
</querygroup>
</pathquery>
Paths to add:
taxonomicClassification/taxonRankValue
taxonomicClassification/taxonRankName
northBoundingCoordinate
southBoundingCoordinate
westBoundingCoordinate
eastBoundingCoordinate
Note that the taxon paths are in the list already (but with no parent element), and the spatial paths are in there (but with parent paths). We could edit the existing index paths instead of adding these, but that might slow down other queries that are using the existing entries in the indexPaths property. I vote for adding the above values if it is not overly costly for metacat to index these additional fields.
these have been added to the build.properties file in the 1.8.1 branch
Original Bugzilla ID was 3259
Also available in: Atom
PDF