Get Started¶
Docker Compose Setup¶
For docker compose setup of this example, please refer to Docker Compose section of this doc
Launch you local NRTSearch server¶
Follow Introduction of this doc to launch the NRTSearch server
Create your NRTSearch index¶
Create Index¶
# ./build/install/nrtsearch/bin/nrtsearch_client createIndex --indexName testIdx
Configure the index¶
# ./build/install/nrtsearch/bin/nrtsearch_client settings -f settings.json
# cat settings.json
{ "indexName": "testIdx",
"directory": "MMapDirectory",
"nrtCachingDirectoryMaxSizeMB": 0.0,
"indexMergeSchedulerAutoThrottle": false,
"concurrentMergeSchedulerMaxMergeCount": 16,
"concurrentMergeSchedulerMaxThreadCount": 8
}
Register Fields¶
# ./build/install/nrtsearch/bin/nrtsearch_client registerFields -f registerFields.json
# cat registerFields.json
{ "indexName": "testIdx",
"field":
[
{ "name": "doc_id", "type": "ATOM", "storeDocValues": true},
{ "name": "vendor_name", "type": "TEXT" , "search": true, "store": true},
{ "name": "license_no", "type": "INT", "multiValued": true, "storeDocValues": true}
]
}
Start Index¶
# ./build/install/nrtsearch/bin/nrtsearch_client startIndex -f startIndex.json
# cat startIndex.json
{
"indexName" : "testIdx"
}
Add documents to your NRTSearch index¶
# ./build/install/nrtsearch/bin/nrtsearch_client addDocuments -i testIdx -f docs.csv -t csv
# cat docs.csv
doc_id,vendor_name,license_no
0,first vendor,100;200
1,second vendor,111;222
Query your NRTSearch server¶
# ./build/install/nrtsearch/bin/nrtsearch_client search -f search.json
# cat search.json
{
"indexName": "testIdx",
"startHit": 0,
"topHits": 100,
"retrieveFields": ["doc_id", "license_no", "vendor_name"],
"queryText": "vendor_name:first vendor"
}
Java client Example¶
LuceneServerStubBuilder luceneServerStubBuilder = new LuceneServerStubBuilder("localhost", 8000);
LuceneServerGrpc.LuceneServerBlockingStub blockingStub = luceneServerStubBuilder.createBlockingStub();
SearchRequest request = SearchRequest.newBuilder()
.setIndexName("testIdx")
.setStartHit(0)
.setTopHits(100)
.addAllRetrieveFields(List.of("doc_id", "license_no", "vendor_name"))
.setQueryText("vendor_name:first vendor")
.build());
blockingStub.search(request);