Рейтинг:0

Невозможно отфильтровать поля в запросе индекса Solr API поиска

флаг cc

Я пытаюсь программно запустить поиск API поиска в моем индексе solr. Проблема в том, что запрос довольно дорогой, поэтому я пытаюсь снизить стоимость, фильтруя определенные поля. В Solr я бы сделал это через параметр списка полей, например. "фл = имя, фамилия", но я не знаю, как это сделать с помощью Search API Search. Я также пытался установить прямой режим синтаксического анализа, но я просто получаю сообщение об ошибке: «Произошла ошибка при попытке поиска с помощью Solr: прямой режим синтаксического анализа требует полей». Я также пытался использовать setFulltextFields но, похоже, это тоже не работает. Я включил свой код ниже. Любая помощь с этим будет принята с благодарностью.

$index = \Drupal\search_api\Entity\Index::load('my_index');
$запрос = $индекс->запрос();

$parse_mode = \Drupal::service('plugin.manager.search_api.parse_mode')
->createInstance('прямой');
$parse_mode->setConjunction('И');
$запрос->setParseMode($parse_mode);

$query->keys('имя И фамилия');

$запрос->диапазон(0, 2000);
$query->addTag('custom_search');
$результаты = $запрос->выполнить();

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.