【发布时间】:2013-06-07 10:04:59
【问题描述】:
我正在使用 Lucene++ 3.0.3 编写前队友的代码。
有一条评论声称 QueryParser 无法处理“特殊字符”,处理这种情况的一种方法是将“特殊字符”替换为空格:
if (((*pos) >= L'A' && (*pos) <= L'Z') ||
((*pos) >= L'a' && (*pos) <= L'z') ||
... ||
(*pos == L'-'))
{
// do nothing, these are OK
} else {
// remaining characters are []{}*
(*pos) = L' ';
}
StandardAnalyzer 是正在使用的分析器。 (感谢Mark)
我假设“特殊字符”用于组合查询或某种通配符处理,因为需要更好的术语。
有没有更好的函数可以解释查询字符串中的这些字符?
【问题讨论】: