From: Roy W. <gar...@ya...> - 2010-04-22 10:56:57
|
The eXist docs show this filter: let $filtered-q := replace($q, "[&"-*;-`~!@#$%^*()_+-=\[\]\{\}\|';:/.,?(:]", "") -- Roy Swami Kevala wrote: > Actually, I want the users to be able to enter lucene queries (using the > lucene query syntax), directly into the search textbox... I wanted to avoid > having to re-parse the query into the xml format. > > So I guess the best option is just to see which characters generate parsing > errors, and then strip out those chars first... > > > > Jacob Myers-3 wrote: > >> There are quite a few others you should watch out for too. As I recall >> ft:query takes a lucene query syntax query: >> http://lucene.apache.org/java/2_9_2/queryparsersyntax.html for more >> (^, ~, *, +, etc) >> >> According to the docs at http://www.exist-db.org/lucene.html#N10352 >> ft:query can also take an xml query description. If you arn't >> expecting your users to be inputting lucene style queries you might >> consider just wrapping up your query as the xml type (as a series of >> terms probably) and passing that in. The docs indicate it is similar >> to lucene's api, so I assume that means it will bypass the lucene >> query parser, allowing characters like : and \ again. >> >> Jacob Myers >> >> On Wed, Apr 21, 2010 at 11:02 PM, Joe Wicentowski <jo...@gm...> >> wrote: >> >>> Hi Swami, >>> >>> I'd suggest parsing the query string to remove offending characters, >>> e.g. >>> >>> let $sanitized-query := replace($orig-query, '[\:]', '') >>> >>> I think you will find in the Lucene query docs that there are certain >>> reserved characters; for example, ':' is used to demarcate fielded >>> searches. >>> >>> Cheers, >>> Joe >>> >>> >>> On Apr 21, 2010, at 10:11 PM, Swami Kevala <swa...@gm...> >>> wrote: >>> >>> >>>> Hi, >>>> >>>> I have an application which allows users to search text by entering >>>> queries >>>> in a textbox. If, by mistake, they enter a ":" or a "\" character, >>>> then a >>>> scary error page is displayed. Is there a way that these errors can be >>>> suppressed, and the query can simply return no results if the query is >>>> malformed >>>> >>>> Kind Regards >>>> >>>> Swami >>>> -- >>>> View this message in context: >>>> http://old.nabble.com/suppress-lucene-parse-errors-tp28323506p28323506.html >>>> Sent from the exist-open mailing list archive at Nabble.com. >>>> >>>> >>>> --- >>>> --- >>>> --- >>>> --------------------------------------------------------------------- >>>> _______________________________________________ >>>> Exist-open mailing list >>>> Exi...@li... >>>> https://lists.sourceforge.net/lists/listinfo/exist-open >>>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Exist-open mailing list >>> Exi...@li... >>> https://lists.sourceforge.net/lists/listinfo/exist-open >>> >>> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Exist-open mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-open >> >> >> > > |