Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-1113

Allow alternate / native search syntax

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: V4.01_CS01
    • Fix Version/s: V4.02
    • Component/s: Protocol
    • Labels:
      None
    • Proposal:
      Hide

      Make $search a pass-through query option, impose no syntax, and impose no other restrictions than what is necessary to parse the URL.

      Make V4 $search syntax just an optional recommendation.

      Add a Capabilities term of type URL that allows pointing to the search syntax supported by the service, which may be the V4 $search syntax. 

      Show
      Make $search a pass-through query option, impose no syntax, and impose no other restrictions than what is necessary to parse the URL. Make V4 $search syntax just an optional recommendation. Add a Capabilities term of type URL that allows pointing to the search syntax supported by the service, which may be the V4 $search syntax. 

      Description

      When doing text searches, many of the common algorithms we use have a number of different ways to define a match (Exact match, begins with, synonym, base word or inflection, etc). The $search query parameter defines a search syntax but its definition says it is up to the implementation as to what constitutes a match. This is fine, but in the case where the search engine provides different matching types it would be nice if user had a way to specify how the type of match to be used in the search expression.

      This was originally filed as ODATA-1100 as a request to modify the existing $search syntax to support specifying match type. In discussing the proposal for ODATA-1100 with some users, it was suggested that we do not define our own syntax for specifying match type. There are several common search engines that define a syntax that allows the type of match to be specified. The most common of these is currently is Apache Lucene -
      https://lucene.apache.org/core/. Instead of expanding the $search syntax, should we provide a way for the user to specify an alternate or native syntax so that they can utilize the underlying capabilities of the search engine? If we do allow alternate syntax, there is likely a need for some metadata describing what if any alternate syntax a service understands.

        Attachments

          Activity

            People

            • Assignee:
              handl Ralf Handl
              Reporter:
              mark.biamonte Mark Biamonte (Inactive)
            • Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: