Bug #3259
closedAdd fields used in Morpho search to the default indexPaths property
0%
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.
Updated by ben leinfelder over 16 years ago
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>
Updated by ben leinfelder over 16 years ago
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.
Updated by ben leinfelder over 16 years ago
these have been added to the build.properties file in the 1.8.1 branch