अपाचे सोलर - दस्तावेज़ हटाना
दस्तावेज़ हटाना
अपाचे सोलर के सूचकांक से दस्तावेजों को हटाने के लिए, हमें <हटाना> </ हटाना> टैग के बीच हटाए जाने वाले दस्तावेजों की आईडी निर्दिष्ट करने की आवश्यकता है।
<delete>
<id>003</id>
<id>005</id>
<id>004</id>
<id>002</id>
</delete>
यहां, यह XML कोड का उपयोग आईडी के साथ दस्तावेजों को हटाने के लिए किया जाता है 003 तथा 005। इस कोड को नाम वाली फ़ाइल में सहेजेंdelete.xml।
यदि आप इंडेक्स से उन दस्तावेजों को हटाना चाहते हैं जो नाम के कोर से संबंधित हैं my_core, तो आप पोस्ट कर सकते हैं delete.xml का उपयोग कर फ़ाइल post उपकरण, जैसा कि नीचे दिखाया गया है।
[Hadoop@localhost bin]$ ./post -c my_core delete.xml
उपरोक्त कमांड निष्पादित करने पर, आपको निम्न आउटपुट मिलेगा।
/home/Hadoop/java/bin/java -classpath /home/Hadoop/Solr/dist/Solr-core
6.2.0.jar -Dauto = yes -Dc = my_core -Ddata = files
org.apache.Solr.util.SimplePostTool delete.xml
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/Solr/my_core/update...
Entering auto mode. File endings considered are
xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,
rtf,htm,html,txt,log
POSTing file delete.xml (application/xml) to [base]
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/Solr/my_core/update...
Time spent: 0:00:00.179
सत्यापन
अपाचे सोलर वेब इंटरफेस के होमपेज पर जाएं और कोर का चयन करें my_core। पाठ क्षेत्र में ":" क्वेरी पास करके सभी दस्तावेजों को पुनः प्राप्त करने का प्रयास करेंqऔर क्वेरी निष्पादित करें। निष्पादित करने पर, आप देख सकते हैं कि निर्दिष्ट दस्तावेज़ हटा दिए गए हैं।
एक खेत को हटाना
कभी-कभी हमें आईडी के अलावा अन्य फ़ील्ड के आधार पर दस्तावेज़ों को हटाने की आवश्यकता होती है। उदाहरण के लिए, हमें उन दस्तावेजों को हटाना पड़ सकता है जहां शहर चेन्नई है।
ऐसे मामलों में, आपको <क्वेरी> </ क्वेरी> टैग जोड़ी के भीतर फ़ील्ड का नाम और मान निर्दिष्ट करना होगा।
<delete>
<query>city:Chennai</query>
</delete>
इसे इस रूप में सहेजें delete_field.xml और नामित नाम पर डिलीट ऑपरेशन करें my_core का उपयोग करते हुए post सोलर का उपकरण।
[Hadoop@localhost bin]$ ./post -c my_core delete_field.xml
उपरोक्त कमांड निष्पादित करने पर, यह निम्नलिखित आउटपुट का उत्पादन करता है।
/home/Hadoop/java/bin/java -classpath /home/Hadoop/Solr/dist/Solr-core
6.2.0.jar -Dauto = yes -Dc = my_core -Ddata = files
org.apache.Solr.util.SimplePostTool delete_field.xml
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/Solr/my_core/update...
Entering auto mode. File endings considered are
xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,
rtf,htm,html,txt,log
POSTing file delete_field.xml (application/xml) to [base]
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/Solr/my_core/update...
Time spent: 0:00:00.084
सत्यापन
अपाचे सोलर वेब इंटरफेस के होमपेज पर जाएं और कोर का चयन करें my_core। पाठ क्षेत्र में ":" क्वेरी पास करके सभी दस्तावेजों को पुनः प्राप्त करने का प्रयास करेंqऔर क्वेरी निष्पादित करें। निष्पादित करने पर, आप देख सकते हैं कि निर्दिष्ट फ़ील्ड वैल्यू पेयर वाले दस्तावेज़ हटा दिए गए हैं।
सभी दस्तावेज़ हटाना
किसी विशिष्ट फ़ील्ड को हटाने की तरह, यदि आप किसी अनुक्रमणिका से सभी दस्तावेज़ों को हटाना चाहते हैं, तो आपको केवल <<>> टैग के बीच के टैग के बीच प्रतीक ":" को पास करना होगा, जैसा कि नीचे दिखाया गया है।
<delete>
<query>*:*</query>
</delete>
इसे इस रूप में सहेजें delete_all.xml और नामित नाम पर डिलीट ऑपरेशन करें my_core का उपयोग करते हुए post सोलर का उपकरण।
[Hadoop@localhost bin]$ ./post -c my_core delete_all.xml
उपरोक्त कमांड निष्पादित करने पर, यह निम्नलिखित आउटपुट का उत्पादन करता है।
/home/Hadoop/java/bin/java -classpath /home/Hadoop/Solr/dist/Solr-core
6.2.0.jar -Dauto = yes -Dc = my_core -Ddata = files
org.apache.Solr.util.SimplePostTool deleteAll.xml
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/Solr/my_core/update...
Entering auto mode. File endings considered are
xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,
htm,html,txt,log
POSTing file deleteAll.xml (application/xml) to [base]
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/Solr/my_core/update...
Time spent: 0:00:00.138
सत्यापन
Apache Solr वेब इंटरफेस के होमपेज पर जाएं और कोर को चुनें my_core। पाठ क्षेत्र में ":" क्वेरी पास करके सभी दस्तावेजों को पुनः प्राप्त करने का प्रयास करेंqऔर क्वेरी निष्पादित करें। निष्पादित करने पर, आप देख सकते हैं कि निर्दिष्ट फ़ील्ड वैल्यू पेयर वाले दस्तावेज़ हटा दिए गए हैं।
जावा (क्लाइंट एपीआई) का उपयोग कर सभी दस्तावेजों को हटाना
Apache Solr इंडेक्स में दस्तावेज़ जोड़ने के लिए जावा प्रोग्राम है। इस कोड को नाम वाली फ़ाइल में सहेजेंUpdatingDocument.java।
import java.io.IOException;
import org.apache.Solr.client.Solrj.SolrClient;
import org.apache.Solr.client.Solrj.SolrServerException;
import org.apache.Solr.client.Solrj.impl.HttpSolrClient;
import org.apache.Solr.common.SolrInputDocument;
public class DeletingAllDocuments {
public static void main(String args[]) throws SolrServerException, IOException {
//Preparing the Solr client
String urlString = "http://localhost:8983/Solr/my_core";
SolrClient Solr = new HttpSolrClient.Builder(urlString).build();
//Preparing the Solr document
SolrInputDocument doc = new SolrInputDocument();
//Deleting the documents from Solr
Solr.deleteByQuery("*");
//Saving the document
Solr.commit();
System.out.println("Documents deleted");
}
}
टर्मिनल में निम्नलिखित कमांड निष्पादित करके उपरोक्त कोड संकलित करें -
[Hadoop@localhost bin]$ javac DeletingAllDocuments
[Hadoop@localhost bin]$ java DeletingAllDocuments
उपरोक्त कमांड निष्पादित करने पर, आपको निम्न आउटपुट मिलेगा।
Documents deleted