Ну, честно говоря, я считаю, что мой вопрос не подходит, так как определенно можно найти решение здесь, но то, что я хочу узнать, - это если пользователь вводит одну из трех логических функций, как я могу заставить мой поиск отражать что.Можно ли дать И, ИЛИ, НЕ возможность через ввод ключевого слова в Solr?
Что я думал, если в запросе введено NOT
(или любой вариант), могу ли я заменить его на NOT
или -
в соответствующем запросе solr. AND
и OR
не так много, поскольку Solr по умолчанию оценивает разные слова в порядке AND
, а затем OR
, но я не могу найти способ для NOT
. Когда я вижу анализ (тип поля, который мне нужно использовать, - text_en_splitting_tight
), NOT
удаляется после SF; Я думаю, это фильтр остановки.
Есть ли способ, которым я могу достичь этого только через Solr, или мне придется использовать свой php-скрипт для разделения и замены ввода ключевого слова, а затем передать его в запрос solr?
EDIT:
Должен ли я сделать что-то с stopwords.txt под конф для остановки фильтра?
То, что я работаю с простой запрос, как указано ниже:
$query = $client->createSelect(); //create search query
$query->setQuery($searchInput); //include fields required for searching
$query->setStart($start)->setRows($rows);
$query->setFields($returnFields);
$edismax = $query->getEDisMax();
$edismax->setQueryFields($edismaxFields);
$resultSet = $client->select($query);
Любая помощь будет оценена.
Кабина, пожалуйста, приведите несколько примеров запросов, над которыми вы работаете? – Fuxi