文字

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryCharsEscapes a lucene query string

说明

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

Lucene supports escaping special characters that are part of the query syntax.

The current list special characters are:

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

These characters are part of the query syntax and must be escaped

参数

str

This is the query string to be escaped.

返回值

Returns the escaped string 或者在失败时返回 FALSE .

用户评论:

[#1] Ian [2013-07-30 20:51:03]

A way of doing that with a regular expression:

<?php
// Lucene characters that need escaping with \ are + - && || ! ( ) { } [ ] ^ " ~ * ? : \
$luceneReservedCharacters preg_quote('+-&|!(){}[]^"~*?:\\');
$query preg_replace_callback(
    
'/([' $luceneReservedCharacters '])/',
    function(
$matches) {
        return 
'\\' $matches[0];
    },
    
$query);
?>

上一篇: 下一篇: