Comments (5)
The AnyText "pseudo-property" is beyond the scope of tests for the Basic
and OpenSearch
conformance classes currently under development. However, it may be that the same constraints should apply to basic KVP text searches using the 'q' query parameter (Table 6: KVP encoding for query constraints).
Requirement-030 stipulates that the domain of AnyText is "all text fields in the catalogue record". Now, OGC 10-032r8 (OGC OpenSearch Geo and Time Extensions) suggests (see Table 4) that searchTerms be matched against the content of the following record elements:
- dc:title, atom:title
- dc:description (dct:abstract), atom:summary
- dc:subject, atom:category
Since this is a normative reference, should this restriction apply to all basic text searches even though the CSW3 spec imposes fewer restrictions on the scope of AnyText for "advanced" queries (i.e. Filter-FES-KVP-Advanced)?
from ets-cat30.
None of the relevant specs appear to have anything to say about:
- Case sensitivity of matching;
- Handling of multiple terms (e.g. treat them as a phrase or as separate terms with some implied boolean operator).
I suggest doing the the following for basic text searches:
- Matching is case-insensitive.
- Treat multiple terms as a phrase (e.g. "San Francisco")
from ets-cat30.
Then again, consider how search terms are interpreted by the Google search engine. Multiple terms are combined by an implicit AND operator. And Google searches are not case-sensitive.
Perhaps this would be sensible default behavior in keeping with the POLA.
from ets-cat30.
Basic text search using the q
parameter is expected to be processed as follows:
- match against all record fields with simple content
- matching is case-insensitive
- multiple terms are combined by an implicit AND
Perhaps "advanced" text search using csw:AnyText
will enable more complex queries.
from ets-cat30.
The update to the spec is good (it makes it more explicit). The test needs to be updated as well, since what is returned in the response (brief, summary, …) may not include all of the record fields with simple content. The test can therefore not fail a response if that response did not include one of the terms provided in the request.
from ets-cat30.
Related Issues (20)
- Update documentation with correct version numbers and convert to markdown
- Tag 1.0 - Test got approved by OGC
- Test shows status Beta when it needs to show status Final HOT 1
- Update CTL with better information about conformance classes HOT 2
- Tests of online TEAM Engine fail due to dependency issues HOT 1
- HTML report is not created with TEAM Engine 5.0 when using Web Browser Interface HOT 1
- clarify requirement 004 HOT 6
- Requirements: 093 add namespaceBindings HOT 10
- Create SoapUI tests and integrate them into Maven and Jenkinsfile HOT 2
- Introduce Dockerfile and Maven Docker plugin HOT 3
- Maven dependencies could not be resolved HOT 5
- Cannot build using Java11 HOT 2
- Create integration tests HOT 2
- Update tests to use TEAM Engine 5.4 HOT 2
- Update dependency of geomatics-geotk to version 1.15
- Cleanup dependencies HOT 1
- Add template to get an XML/JSON response via rest endpoint HOT 1
- Add test run argument info to rest endpoint page HOT 1
- Migrate test suite to TEAM Engine 6 (Java 17)
- Upgrade dependencies to current versions HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ets-cat30.