SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryChars转义 Lucene 查询字符串

描述

public static SolrUtils::escapeQueryChars(string $str): string|false

Lucene 支持转义作为查询语法一部分的特殊字符。

当前特殊字符列表为

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /

这些字符是查询语法的组成部分,必须转义

参数

str

这是要转义的查询字符串。

返回值

返回转义后的字符串,如果失败则返回 **false**。

添加说明

用户贡献说明 1 说明

Ian
11 年前
一种使用正则表达式的实现方式

<?php
// 需要用 \ 转义的 Lucene 字符: + - && || ! ( ) { } [ ] ^ " ~ * ? : \
$luceneReservedCharacters = preg_quote('+-&|!(){}[]^"~*?:\\');
$query = preg_replace_callback(
'/([' . $luceneReservedCharacters . '])/',
function(
$matches) {
return
'\\' . $matches[0];
},
$query);
?>
To Top