You need to be careful allowing users to use raw queries if you index sensitive information. Cross domain search timing attacks can be used to extract information from an index [1] if your form does not have XSRF protection.
If you allow raw queries it can also allow users to DOS your application by inputting slow queries.
[1] https://www.idontplaydarts.com/2015/09/cross-domain-timing-attacks-against-lucene/
PHP.mk документација
SolrUtils::queryPhrase
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
solrutils.queryphrase.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
solrutils.queryphrase.php
SolrUtils::queryPhrase
Референца за `solrutils.queryphrase.php` со подобрена типографија и навигација.
SolrUtils::queryPhrase
(PECL solr >= 0.9.2)
SolrUtils::queryPhrase — Подготвува фраза од не-ескејпнат lucene стринг
= NULL
Подготвува фраза од не-ескејпнат lucene стринг.
Параметри
str-
Lucene фразата.
Вратени вредности
Враќа фраза содржана во двојни наводници.
Белешки од корисници 2 забелешки
quackfish на gmail точка com ¶
пред 10 години
daniel dot allen at commercialtrucktrader dot com ¶
12 години пред
Doing some tests it would appear that this function also sanitizes input(testing on version above 1.0). And the term "phrase" is not the same as a complete query like "FIELD:THE RIGHT HALF AFTER THE : IS THE PHRASE."
So if you want to search SOME_FIELD:some value with an escape character like +, then you would have to write the code out:
$query = 'SOME_FIELD:' . SolrUtils::queryPhrase('some value with an escape character like +');
That would properly escape it like:
some value with an escape character like \+
FYI.