SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryCharsEscapa un string de consulta lucene

Descripción

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

Lucene soporta el escape de caracteres especiales que son parte de la sintaxis de la consulta.

La lista actual de caracteres especiales es:

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

Estos caracteres son parte de la sintaxis de la consulta y deben ser escapados

Parámetros

str

Este es el string de consulta a ser escapda.

Valores devueltos

Devuelve el string escapado o false en caso de error.

add a note add a note

User Contributed Notes 1 note

up
-8
Ian
11 years ago
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);
?>
To Top