Skip to content

Latest commit

 

History

History
127 lines (106 loc) · 3.26 KB

README.md

File metadata and controls

127 lines (106 loc) · 3.26 KB

SARO Solr Client

Maven Central GitHub license

QUICK START

gradle kts

implementation("me.saro:solr-client:1.0")

gradle

compile "me.saro:solr-client:1.0"

maven

<dependency>
  <groupId>me.saro</groupId>
  <artifactId>solr-client</artifactId>
  <version>1.0</version>
</dependency>

Kotlin Example

init

val url = "http://localhost:8983/solr"
val schema = "test-obj"
val solrClient = SolrClient.Builder().urls(listOf(url)).build()
val typeRef = object : TypeReference<List<TestObj>>() {}

class TestObj {
    // key
    var topicId = ""
    var subject = ""
    var tags = ""
    var content = ""
    var userName = ""
    var regDt = ""
}

select

val query = SolrQuery().query("*:*").filterQuery("tags:abc").page(10, 0)
val res: SolrResult<*> = solrClient.select(schema, query)
val list: List<TestObj> = res.docs(typeRef)

println("select")
list.forEach(Consumer { e: TestObj? -> println(e) })

insert or update (if key duplicate)

val testObj = TestObj()
testObj.topicId = "1"
testObj.subject = "test-subject"

solrClient.updateEntities(schema, listOf(testObj))

delete (use key)

val key = "1"
solrClient.delete(schema, listOf(key))

Java Example

init

String url = "http://localhost:8983/solr";
String schema = "test-obj";
SolrClient solrClient = new SolrClient.Builder().urls(List.of(url)).build();
TypeReference<List<TestObj>> typeRef = new TypeReference<List<TestObj>>(){};

class TestObj {
    // key
    public String topicId = "";
    public String subject = "";
    public String tags = "";
    public String content = "";
    public String userName = "";
    public String regDt = "";
}

select

SolrQuery query = new SolrQuery().query("*:*").filterQuery("tags:abc").page(10, 0);
SolrResult res = solrClient.select(schema, query);
List<TestObj> list = res.docs(typeRef);

System.out.println("select");
list.forEach(e -> System.out.println(e));

insert or update (if key duplicate)

Obj = new TestObj();
testObj.topicId = "1";
testObj.subject = "test-subject";

solrClient.updateEntities(schema, List.of(testObj));

delete (use key)

String key = "1";
solrClient.delete(schema, List.of(key));

A practical example of using Kotlin.

SolrService.java

ForumDocumentRepositoryAdapter.java

test code

repository

see