Ticket #46 (new enhancement)

Opened 6 years ago

Last modified 2 years ago

Support for complex boolean queries missing in GUI

Reported by: sbayarri Owned by: mcoudert
Priority: major Milestone: Future release
Component: Catalog server Version: v2.4.0 RC1
Keywords: search expression Cc: Jeroen@…

Description

As of now, simple boolean combinations are supported in search expressions, lile "A and B and C" or "A or B or C", but generic expressions using parenthesis should also be supported, like

"(A and B) or C"

Apparently, Lucene does support these expressions (see  http://lucene.apache.org/java/docs/queryparsersyntax.html), so it is a matter of generating the Lucene equivalent from GeoNetwork.

Note: The support for complex boolean search expressions is clearly stated in the section "6.2 Query language support" of the 2.0.2 version of the OGC Catalogue Services Specification.

Note: This feature is required in the implementation of some SDI projects.

Change History

Changed 6 years ago by sbayarri

  • cc Jeroen@… added; Salvador.Bayarri@… removed
  • type changed from defect to enhancement
  • summary changed from Support for complex boolean queries missing to Support for complex boolean queries missing in GUI

Some additional information: This problem only occurs when providing a search string through the portal GUI. If the search filter is provided through an CSW service (already in the form of an XML), the search works correctly in compliance with CSW.

This gives further evidence that the problem is due to limitations in the parsing of the search string.

Calling CSW is fine for the purpose of our project, so this is not a high priority fix for us any more, but it would still be nice to have the ability for this kind of search from the GUI.

Changed 4 years ago by ticheler

  • milestone set to v2.4.0 RC2

This needs to be checked in version 2.4.0 RC2 in order to close the issue. I understand it should be fixed.

Changed 4 years ago by ticheler

Related to this is the following report (22 June 2009) that needs checking:

Hi list, I've just gotten the latest from SVN trunk, and tried again an OR search on two IDs. It should bring back both items, since if I do each one separately, it brings back the correct record.

<csw:GetRecords service="CSW" version="2.0.2" resultType="results" outputSchema="csw:IsoRecord" maxRecords="1000" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2">

<csw:Query typeNames="gmd:MD_Metadata">

<csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0">

<Filter xmlns=" http://www.opengis.net/ogc">

<or>

<PropertyIsEqualTo?>

<PropertyName?>AnyText?</PropertyName> <Literal>0fe48cb2-638c-4b82-aecb-8e5372103df6</Literal>

</PropertyIsEqualTo> <PropertyIsEqualTo?>

<PropertyName?>AnyText?</PropertyName> <Literal>f7684b5c-a512-4f6c-8df3-939382a2a7b4</Literal>

</PropertyIsEqualTo>

</or>

</Filter>

</csw:Constraint>

</csw:Query>

</csw:GetRecords>

Perhaps I'm not phrasing this correctly?

Thanks for your help, Roger

Changed 4 years ago by ticheler

  • version set to v2.4.0 RC1
  • milestone changed from v2.4.0 RC2 to v2.5.0

The CSW query will be checked for the v2.4 release since it should be working. The parsing of the free text search string involves a change to the query parser and will be deferred to v2.5.

Changed 4 years ago by ticheler

  • owner changed from geonetwork-devel@… to mcoudert

Changed 3 years ago by ticheler

  • milestone changed from v2.5.0 to v2.5.1

Changed 3 years ago by heikki

  • milestone changed from v2.5.1 to v2.6.2

Changed 2 years ago by fxp

  • milestone changed from v2.6.3 to Future release
Note: See TracTickets for help on using tickets.