OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Updated: (ODATA-139) New system query option $search for free-text search within an entity set


     [ http://tools.oasis-open.org/issues/browse/ODATA-139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-139:
-----------------------------

    Proposal: 
Add a system query option $search with the following search syntax:

Search for entities that contain a word

   $search=foo

Search for entities that contain all of several words

   $search=foo bar
   $search=foo bar baz
   $search=foo AND bar
   $search=foo AND bar AND baz

Search for entities that contain any of several words

   $search=foo OR bar
   $search=foo OR bar OR baz

Search for entities do not contain a word

   $search=NOT foo
   $search=foo NOT bar
   $search=foo NOT bar NOT baz

NOT affects only the word following immediately, so the following two are equivalent:

   $search=foo NOT bar baz
   $search=foo baz NOT bar
 
Search for exact phrase

   $search="foo bar"
   $search="foo bar baz"

The result contains only entities that match both $search and $filter, so there's a logical AND between the two. It's up to the server to decide in which order to evaluate them, the choice may depend on the search infrastructure available.

No weights on search terms, no proximity search, no synonym search.
No expressions, functions or parentheses.
Only simple "words" and the operators AND, OR, and NOT. The operators are case-sensitive.
"Word" needs to be specified, e.g. a sequence of Unicode letters.

This seems to be the common subset of the search syntaxes I've recently had contact with, including CQL (http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/cs01/part5-cql/searchRetrieve-v1.0-cs01-part5-cql.html#_Toc324166796) and Bing (http://onlinehelp.microsoft.com/en-us/bing/ff808438.aspx). 

Accepted: https://www.oasis-open.org/committees/download.php/48097/odata-meeting-23_on-20130130_31-F2F-minutes.html#odata-139

  was:
Add a system query option $search with the following search syntax:

Search for entities that contain a word

   $search=foo

Search for entities that contain all of several words

   $search=foo bar
   $search=foo bar baz
   $search=foo AND bar
   $search=foo AND bar AND baz

Search for entities that contain any of several words

   $search=foo OR bar
   $search=foo OR bar OR baz

Search for entities do not contain a word

   $search=NOT foo
   $search=foo NOT bar
   $search=foo NOT bar NOT baz

NOT affects only the word following immediately, so the following two are equivalent:

   $search=foo NOT bar baz
   $search=foo baz NOT bar
 
Search for exact phrase

   $search="foo bar"
   $search="foo bar baz"

The result contains only entities that match both $search and $filter, so there's a logical AND between the two. It's up to the server to decide in which order to evaluate them, the choice may depend on the search infrastructure available.

No weights on search terms, no proximity search, no synonym search.
No expressions, functions or parentheses.
Only simple "words" and the operators AND, OR, and NOT. The operators are case-sensitive.
"Word" needs to be specified, e.g. a sequence of Unicode letters.

This seems to be the common subset of the search syntaxes I've recently had contact with, including CQL (http://docs.oasis-open.org/search-ws/searchRetrieve/v1.0/cs01/part5-cql/searchRetrieve-v1.0-cs01-part5-cql.html#_Toc324166796) and Bing (http://onlinehelp.microsoft.com/en-us/bing/ff808438.aspx).


> New system query option $search for free-text search within an entity set
> -------------------------------------------------------------------------
>
>                 Key: ODATA-139
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-139
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData ABNF Construction Rules v1.0, OData Protocol v1.0, OData URL Conventions v1.0
>    Affects Versions: WD01
>         Environment: [Proposed]
>            Reporter: Ralf Handl
>             Fix For: WD01
>
>
> Searching a list of entries by entering a free-text search phrase in a single input field is a very common UI pattern in mobile and browser-based applications.
> Translating this (typically case-insensitive) search phrase into an OData filter string is cumbersome and error-prone.
> A better alternative is providing a specialized query option that takes a search term and allows the server to interpret this search term.
>     GET ~/Orders?$search=blue
> could return sales orders that somehow match the phrase "blue", without the client needing to specify where this phrase may occur. It even could appear in related entities, e.g. the description of one of the products ordered.
> This is comparable to Level 0 Conformance in CQL, see ODATA-3.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]