Support of Apache Solr for Java
Supported Libraries
Library | Version | Supported |
---|---|---|
Apache Solr | From 1.0 Up to: 9.3 |
Supported Operations
Operations | Methods Supported |
---|---|
Insert | org.apache.solr.client.solrj.SolrClient.add org.apache.solr.client.solrj.SolrClient.addBean org.apache.solr.client.solrj.SolrServer.add org.apache.solr.client.solrj.SolrServer.addBean org.apache.solr.client.solrj.SolrServer.addBeans |
Select | org.apache.solr.client.solrj.SolrClient.getById org.apache.solr.client.solrj.SolrClient.query org.apache.solr.client.solrj.SolrClient.queryAndStreamResponse org.apache.solr.client.solrj.SolrServer.query |
Delete | org.apache.solr.client.solrj.SolrClient.deleteById org.apache.solr.client.solrj.SolrClient.deleteByQuery org.apache.solr.client.solrj.SolrServer.deleteById org.apache.solr.client.solrj.SolrServer.deleteByQuery |
Objects
Icon | Description |
---|---|
Java ApacheSolr Client | |
Java ApacheSolr Index | |
Java Unknown ApacheSolr Index |
Links
All links are created between the caller Java Method objects and Java ApachSolr Index objects:
Link type | Methods Supported |
---|---|
useInsertLink | add addBean addBeans |
useSelectLink | getById query queryAndStreamResponse |
useDeleteLink | deleteById deleteByQuery |
What results can you expect?
Some example scenarios are shown below:
ApacheSolr Client
Solr client cloud
public class CoreLevelSolrCRUDExample {
private static final String SOLR_URL = "http://localhost:8983/solr"; // Solr base URL
private static final String CORE_NAME = "my_core"; // Replace with your core name
private static final SolrClient solrClient = new HttpSolrClient.Builder(SOLR_URL).build();
public static void main(String[] args) {
CoreLevelSolrCRUDExample solrClient = new CoreLevelSolrCRUDExample();
// Create a document and add it to Solr core
SolrInputDocument document = new SolrInputDocument();
document.addField("id", "1");
document.addField("title", "Sample Document");
document.addField("content", "This is a sample document content.");
solrClient.createDocument(document);
// Read the document by ID
solrClient.readDocument("1");
// Update the document's title
solrClient.updateDocument("1", "Updated Document Title");
// Read the updated document
solrClient.readDocument("1");
// Delete the document by ID
solrClient.deleteDocument("1");
// Don't forget to close the SolrClient when done
solrClient.closeSolrClient();
}
public void createDocument(SolrInputDocument document) {
try {
UpdateResponse response = solrClient.add(CORE_NAME, document);
solrClient.commit(CORE_NAME);
System.out.println("Document created successfully. Response: " + response);
} catch (IOException e) {
System.err.println("Error creating document: " + e.getMessage());
}
}
Insert Operation
Insert Operation
public void createDocument(SolrInputDocument document) {
try {
UpdateResponse response = solrClient.add(CORE_NAME, document);
solrClient.commit(CORE_NAME);
System.out.println("Document created successfully. Response: " + response);
} catch (IOException e) {
System.err.println("Error creating document: " + e.getMessage());
}
}
Select Operation
Select Operation
public void readDocument(String documentId) {
try {
SolrDocument solrDocument = solrClient.getById(CORE_NAME, documentId);
System.out.println("Read Document: " + solrDocument);
} catch (IOException e) {
System.err.println("Error reading document: " + e.getMessage());
}
}
Delete Operation
Delete Operation
public void deleteDocument(String documentId) {
try {
UpdateResponse response = solrClient.deleteById(CORE_NAME, documentId);
solrClient.commit(CORE_NAME);
System.out.println("Document deleted successfully. Response: " + response);
} catch (IOException e) {
System.err.println("Error deleting document: " + e.getMessage());
}
}
Known Limitations
- If the Index/core name is not resolved in the CRUD API, then a link is created with an unknown index object.