Как удалить все записи из индекса Solr

Я использую Solr для полнотекстового поиска.

Я новичок в solr и пытаюсь удалить записи из индекса solr клиентом php solarium. Я использую следующий код для удаления записей:

include_once("vendor/autoload.php");
$client = new Solarium\Client();

if(isset($_POST['delete']))
{
    $update = $client->createUpdate();

    // add the delete query and a commit command to the update query
    $update->addDeleteQuery('*:*');
    $update->addCommit();

    // this executes the query and returns the result
    $result = $client->update($update);

    echo '<b>Update query executed</b><br/>';
    echo 'Query status: ' . $result->getStatus(). '<br/>';
    echo 'Query time: ' . $result->getQueryTime();
}

Но это дает мне следующую ошибку в браузере:

Неустранимая ошибка: необработанное исключение 'Solarium\Exception\HttpException' с сообщением 'Solr HTTP error: OK (500) {"responseHeader":{"status":500,"QTime":1},"error":{"trace":"java.lang.NullPointerException\n\tat org.apache.lucene.search.BooleanClause.hashCode(BooleanClause.java:99)\n\tat java.util.AbstractList.hashCode(AbstractList.java:542)\n\tat org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:520)\n\tat java.util.HashMap.put(HashMap.java:389)\n\tat org.apache.lucene.index.BufferedUpdates.addQuery(BufferedUpdates.java:152)\n\tat org.apache.lucene.index.DocumentsWriterDeleteQueue$QueryArrayNode.apply(DocumentsWriterDeleteQueue.java:365)\n\tat org.apache.lucene.inueerDeliceWocument.) \ n \ tat org.apach e.lucene.index.DocumentsWriter.delete в /var/www/library/Solarium/Core/Query/Result/Result.php в строке 103

2 ответа

Если вы хотите удалить весь индекс, то вы также можете использовать браузер. Просто скопируйте и вставьте следующую ссылку в браузере.http://localhost:8983/solr/update?stream.body=:&commit=true

Используйте следующий запрос, чтобы удалить ваши записи из Solr -

  1. DOMAIN: [PORT] / Solr/#/collection1/ запрос
  2. Изменить обработчик запросов (qt) "/ выберите" на "/ удалить"
  3. Для удаления всех записей q = : и нажмите ввод
  4. Для удаления определенного идентификатора id: и нажмите ввод
Другие вопросы по тегам