Opened 16 years ago

Last modified 13 years ago

#46 new enhancement

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 (8)

comment:1 by sbayarri, 16 years ago

Cc: Jeroen@… added; Salvador.Bayarri@… removed
Summary: Support for complex boolean queries missingSupport for complex boolean queries missing in GUI
Type: defectenhancement

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.

comment:2 by ticheler, 15 years ago

Milestone: 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.

comment:3 by ticheler, 15 years ago

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

comment:4 by ticheler, 15 years ago

Milestone: v2.4.0 RC2v2.5.0
Version: v2.4.0 RC1

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.

comment:5 by ticheler, 15 years ago

Owner: changed from geonetwork-devel@… to mcoudert

comment:6 by ticheler, 14 years ago

Milestone: v2.5.0v2.5.1

comment:7 by heikki, 13 years ago

Milestone: v2.5.1v2.6.2

comment:8 by fxp, 13 years ago

Milestone: v2.6.3Future release
Note: See TracTickets for help on using tickets.