BAEL-347-Full-text search with SOLR (#1254)

* solr-fulltext-search module created

* solr-fulltext-search modue created

* solr-fulltext-search change
s

* pom changes merged from upstream
This commit is contained in:
mujahid
2017-02-28 19:00:13 +01:00
committed by maibin
parent 1bfc944c5a
commit 442c00545c
5 changed files with 475 additions and 1 deletions
+1 -1
View File
@@ -18,7 +18,7 @@
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>6.1.0</version>
<version>6.4.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -0,0 +1,51 @@
package com.baeldung.solr.fulltext.search.model;
import org.apache.solr.client.solrj.beans.Field;
public class Item {
@Field
private String id;
@Field
private String description;
@Field
private String category;
@Field
private float price;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
}
@@ -0,0 +1,15 @@
package com.baeldung.solr.fulltext.search.service;
import java.io.IOException;
import org.apache.solr.client.solrj.SolrServerException;
import com.baeldung.solr.fulltext.search.model.Item;
public interface ItemSearchService {
public void index(String id, String description, String category, float price) throws SolrServerException, IOException;
public void indexBean(Item item) throws IOException, SolrServerException;
}
@@ -0,0 +1,34 @@
package com.baeldung.solr.fulltext.search.service;
import java.io.IOException;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.common.SolrInputDocument;
import com.baeldung.solr.fulltext.search.model.Item;
public class ItemSearchServiceImpl implements ItemSearchService {
private final SolrClient solrClient;
public ItemSearchServiceImpl(SolrClient solrClient) {
this.solrClient = solrClient;
}
public void index(String id, String description, String category, float price) throws SolrServerException, IOException {
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", id);
doc.addField("description", description);
doc.addField("category", category);
doc.addField("price", price);
solrClient.add(doc);
solrClient.commit();
}
public void indexBean(Item item) throws IOException, SolrServerException {
solrClient.addBean(item);
solrClient.commit();
}
}