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] Commented: (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:comment-tabpanel&focusedCommentId=31847#action_31847 ] 

Michael Pizzo commented on ODATA-139:

I really like this, but I think we need to fully define the search term before we can make a motion to accept.

Is the term a simple string? Can/must it be quoted? Single versus double quotes?
-I think we have to support quoting, though we could make it optional as per CQL
-Single quotes is consistent with how strings are represented, i.e., in $filter

Can it be an expression (i.e., using string cat?)
-I would propose no, for now, although we could require strings to be quoted in order to give ourselves room in the future

Can I do multiple terms (i.e.; "dog and cat", or "dog or cat") and, if so, how?  What about any/all? Can I weight the terms?

Can I exclude certain terms?
-this would let me search for all active jira issues not in the proposed state, which would be really nice... :-)

Is there syntax for "exact match" (i.e., "+" term)?

Can I do proximity searches?

Where does $search appear in the order of operations? 
-I assume it would come before $filter, and any $filter would be applied to the results returned from the $search (although the result would be the same if you reversed the two). In any case, note that there is conceptually an AND between $search and $filter; it's not possible to find records where freetext search matches dog AND sales > 100 or freetext search matches cat AND sales >50. I think that's fine.

I assume we don't support the CQL sortBy in $search, but instead use the $orderby clause?

> 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]