Я пытаюсь создать пользовательский компонент поиска для solr для обработки специального запроса.Я хочу найти и проверить, является ли номер результата пустым или нет.Если он пуст, я попытаюсь обновить условие поиска и попытаться выполнить поиск снова.
Мне нужно сделать это, потому что в настоящее время мне приходится запрашивать несколько раз, проверять номер результата и снова запрашивать, если результат пуст.И для получения окончательного результата требуется много запросов.
Поэтому я хочу сделать это на сервере Solr, а затем на клиенте просто отправить 1 запрос и получить окончательный результат.
Я следуюэто учебник .Затем я проверяю журнал Solr, но не вижу, что напечатан «Hello world».
Вот мой пользовательский класс
public class CustomQueryComponent extends SearchComponent {
private static final Logger LOG = Logger.getLogger(CustomQueryComponent.class);
@Override
public void prepare(ResponseBuilder responseBuilder) throws IOException {
LOG.info("Hello world");
}
@Override
public void process(ResponseBuilder responseBuilder) throws IOException {
LOG.info("Hello world");
}
@Override
public String getDescription() {
return "CustomQueryComponent";
}
@Override
public String getSource() {
return null;
}
}
И мой solrconfig.xml:
//...
<searchComponent name="customQueryComponentDemo" class="com.company.CustomQueryComponent">
</searchComponent>
<requestHandler name="/search" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<bool name="preferLocalShards">false</bool>
</lst>
<arr name="first-components">
<str>customQueryComponentDemo</str>
</arr>
</requestHandler>
//...
Журналы Solr, когда я получаю доступ к URL http://localhost:6280/solr//select?q=%3A&wt=json&indent=true
INFO - 2018-11-27 14:27:25.206; org.apache.solr.core.SolrCore; [collection] webapp=/solr path=/select params={q=*:*&indent=true&wt=json} hits=9997 status=0 QTime=10
INFO - 2018-11-27 14:27:28.204; org.apache.solr.core.SolrCore; [collection] webapp=/solr path=/select params={q=*:*&indent=true&wt=json} hits=9997 status=0 QTime=6
INFO - 2018-11-27 14:27:30.722; org.apache.solr.core.SolrCore; [collection] webapp=/solr path=/select params={q=*:*&indent=true&wt=json} hits=9997 status=0 QTime=5
INFO - 2018-11-27 14:27:35.080; org.apache.solr.core.SolrCore; [collection] webapp=/solr path=/select params={q=*:*&indent=true&wt=json} hits=9997 status=0 QTime=3
Кто-нибудь знает почему?Я с нетерпением жду ваших ответов.Большое спасибо!И извините за плохой английский.