:handle_parser_errors => true is enabled by default and seems to be in
acts_as_ferret in class_methods.rb of the plugin. However, when I pass a
special character as a query (e.g., !, -, <, >, etc) it throws an error
and pukes.
– snip –
Error occured in src/q_parser.y:279 - yyerror
couldn’t parse query ``‘’. Error message was syntax error
– end snip –
There’s a couple of non-obvious things going on here which I just dealt
with recently myself. I’m not using AAF but I would say the issues are
the same.
Firstly if you’re using
index.search_each
the query parser that method uses does NOT use the default values -
specifically it does not handle parser errors.
If you’re making your own QueryParser, there is another gotcha → the
docs say to use the parameter handle_parser_errors but that’s not right
with 0.10.13. It should be
Ferret::QueryParser.new({:handle_parse_errors => true}) # not
handle_parser_errors like docs say
:handle_parser_errors => true is enabled by default and seems to be in
acts_as_ferret in class_methods.rb of the plugin. However, when I pass a
special character as a query (e.g., !, -, <, >, etc) it throws an error
and pukes.
– snip –
Error occured in src/q_parser.y:279 - yyerror
couldn’t parse query ``‘’. Error message was syntax error
– end snip –
If you’re making your own QueryParser, there is another gotcha -> the
docs say to use the parameter handle_parser_errors but that’s not right
with 0.10.13. It should be
Ferret::QueryParser.new({:handle_parse_errors => true}) # not
handle_parser_errors like docs say
aaf however doesn’t create it’s own query parser for normal use cases,
but the option will be given to the internal Ferret Index instance, so
maybe it helps anyway. please tell me if it does so I can correct the
default parameter name in aaf.
Jens
–
webit! Gesellschaft für neue Medien mbH www.webit.de
Dipl.-Wirtschaftsingenieur Jens Krämer [email protected]
Schnorrstraße 76 Tel +49 351 46766 0
D-01069 Dresden Fax +49 351 46766 66
aaf however doesn’t create it’s own query parser for normal use cases,
but the option will be given to the internal Ferret Index instance, so
maybe it helps anyway. please tell me if it does so I can correct the
default parameter name in aaf.
aaf however doesn’t create it’s own query parser for normal use cases,
but the option will be given to the internal Ferret Index instance, so
maybe it helps anyway. please tell me if it does so I can correct the
default parameter name in aaf.
but the option will be given to the internal Ferret Index instance, so
maybe it helps anyway. please tell me if it does so I can correct the
default parameter name in aaf.
This problem has now been fixed.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.