Ruby on rails Sunspot/Solr查询以逻辑运算符结尾和/或/或不导致错误

Ruby on rails Sunspot/Solr查询以逻辑运算符结尾和/或/或不导致错误,ruby-on-rails,solr,sunspot-rails,Ruby On Rails,Solr,Sunspot Rails,我注意到以AND/OR/NOT等逻辑运算符结尾的查询示例(“this AND”)将导致错误。现在,处理这个问题的最佳方法是什么?只是删掉或逃避所有以其中一个结尾的查询?请注意,以其中一个单词开头的查询也会发生这种情况。有时,有效的名字以这样的词结尾,比如俄勒冈州或美国 我相信,在查询中转义任何不属于布尔逻辑的AND/OR/NOT实例是最好的选择: Article.search do fulltext 'Oregon OR' end # => Throws error along the

我注意到以AND/OR/NOT等逻辑运算符结尾的查询示例(“this AND”)将导致错误。现在,处理这个问题的最佳方法是什么?只是删掉或逃避所有以其中一个结尾的查询?请注意,以其中一个单词开头的查询也会发生这种情况。有时,有效的名字以这样的词结尾,比如俄勒冈州或美国

我相信,在查询中转义任何不属于布尔逻辑的AND/OR/NOT实例是最好的选择:

Article.search do
  fulltext 'Oregon OR'
end
# => Throws error along the lines of this:
# RSolr::RequestError: Solr Response: orgapachelucenequeryParserParseException_Cannot_parse_Oregon_OR_Encountered_EOF_at_line_1_column_9_Was_expecting_one_of_____NOT______________________________QUOTED______TERM______PREFIXTERM______WILDTERM__________________NUMBER______TERM____________


Article.search do
  fulltext 'Oregon \OR'
end
# => Returns results with "Oregon OR"
请记住,在双引号字符串中转义和/或/或不转义时,需要两个反斜杠:

fulltext "Oregon \\OR"