SolrUtils::escapeQueryChars
(PECL solr >= 0.9.2)
SolrUtils::escapeQueryChars — Escapes a lucene query string
Description
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
Parameters
-
str
-
This is the query string to be escaped.
Return Values
Returns the escaped string or FALSE
on failure.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с поисковыми системами
- Apache Solr
- Функция SolrUtils::digestXmlResponse() - Parses an response XML string into a SolrObject
- Функция SolrUtils::escapeQueryChars() - Escapes a lucene query string
- Функция SolrUtils::getSolrVersion() - Returns the current version of the Solr extension
- Функция SolrUtils::queryPhrase() - Prepares a phrase from an unescaped lucene string
Коментарии
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);
?>