You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Ralf Handl (JIRA)" <ji...@apache.org> on 2018/02/27 14:37:00 UTC

[jira] [Comment Edited] (OLINGO-1239) $search does not allow special characters

    [ https://issues.apache.org/jira/browse/OLINGO-1239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16378665#comment-16378665 ] 

Ralf Handl edited comment on OLINGO-1239 at 2/27/18 2:36 PM:
-------------------------------------------------------------

Note: the original V4 ABNF for $search was overly restrictive and only stated in a comment that it was overly restrictive:

{{searchWord = 1*ALPHA ; Actually: any character from the Unicode  categories L or Nl,}}

{{                     ; but not the words AND, OR, and NOT}}

This mislead some implementation teams, so this was changed to
{quote}{\{; A searchWord is a sequence of one or more letters, digits, commas, or dots. }}

{\{; This includes Unicode characters of categories L or N using UTF-8 and percent-encoding. }}

{\{; The words AND, OR, and NOT are not a valid searchWord. }}

{\{; Expressing this in ABNF is somewhat clumsy, so the following rule is overly generous. }}

{{searchWord = 1*( ALPHA / DIGIT / COMMA / "." / pct-encoded )}}
{quote}
See [http://docs.oasis-open.org/odata/odata/v4.01/cs01/abnf/odata-abnf-construction-rules.txt]

 


was (Author: ralfhandl):
Note: the original V4 ABNF for $search was overly restrictive and only stated in a comment that it was overly restrictive:
{quote}{{searchWord = 1*ALPHA ; Actually: any character from the Unicode  categories L or Nl, }}

{{; but not the words AND, OR, and NOT}}
{quote}
This mislead some implementation teams, so this was changed to
{quote}{{; A searchWord is a sequence of one or more letters, digits, commas, or dots. }}

{{; This includes Unicode characters of categories L or N using UTF-8 and percent-encoding. }}

{{; The words AND, OR, and NOT are not a valid searchWord. }}

{{; Expressing this in ABNF is somewhat clumsy, so the following rule is overly generous. }}

{{searchWord = 1*( ALPHA / DIGIT / COMMA / "." / pct-encoded )}}
{quote}
See http://docs.oasis-open.org/odata/odata/v4.01/cs01/abnf/odata-abnf-construction-rules.txt

 

> $search does not allow special characters
> -----------------------------------------
>
>                 Key: OLINGO-1239
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1239
>             Project: Olingo
>          Issue Type: Bug
>    Affects Versions: (Java) V4 4.3.0, (Java) V4 4.4.0
>            Reporter: Claudia
>            Priority: Major
>
> $search does not allow to search for special chars, eg. umlauts (german ä,ö,ü), but also other chars like $, ? should be allowed.
> Root cause: SearchTokenizer checks only if a character is alphanumeric!
> Workaround: 
> Implementing a custom query option and encode the given value with encodeURIComponent() on client side.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)