0
votes

I am using solr to full text search.

I am new to solr and trying to delete the records from the solr index by php solarium client I am using the following code to delete the records:

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();
}

But it is giving me the following error on browser:

Fatal error: Uncaught exception 'Solarium\Exception\HttpException' with message '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.index.DocumentsWriterDeleteQueue$DeleteSlice.apply(DocumentsWriterDeleteQueue.java:280)\n\tat org.apache.lucene.index.DocumentsWriterDeleteQueue.tryApplyGlobalSlice(DocumentsWriterDeleteQueue.java:200)\n\tat org.apache.lucene.index.DocumentsWriterDeleteQueue.addDelete(DocumentsWriterDeleteQueue.java:107)\n\tat org.apache.lucene.index.DocumentsWriter.delete in /var/www/library/Solarium/Core/Query/Result/Result.php on line 103

2
Delete your record from the source (database) and re-index that record in solr.GKS
records are in solr index how can i delete from database ?? either i have to delete by query or from back end , i am getting errors to inserting deleting only searching is running correctlyjohn
from where solr is getting data while indexing? There is some backend database.GKS
Posted answer please try to mentioned url or ask to me if you will unable to delete data.GKS
do you know where is solr index files in database ?? i am just get the files and content from dropbox inserting these to solr index to for full text search .no interaction with database at my endjohn

2 Answers

0
votes

Use following query to delete your records from solr -

  1. DOMAIN:[PORT]/solr/#/collection1/query
  2. Change Request-Handler (qt) "/select" to "/delete"
  3. For delete all records q = : and press enter
  4. For delete specific id id: and press enter
0
votes

if you want to delete all the index then u can use the browser also. Just copy and paste the following link in the browser. http://localhost:8983/solr/update?stream.body=:&commit=true