You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Pratik Patel <pr...@semandex.net> on 2018/08/14 18:38:47 UTC
Semantic Knowledge Graph query using SolrJ
I am trying to use Semantic Knowledge Graph in my java based application.
I have a Semantic Knowledge Graph query which works fine if I trigger it
through browser using restlet client. Following is the query.
{
"queries": [
"foo:\"5a6127a7234e76473a816f1c\""
],
"compare": [
{
"type": "bar",
"limit": 30
}
]}
Now, I want to trigger the same query through SolrJ client. I have tried
following code but it gives me an error
{"error":{"msg":"KnowledgeGraphHandler requires POST data","code":400}}
The code in java is
SolrQuery request = new SolrQuery();
request.setRequestHandler("/skg");
request.setShowDebugInfo(true);
request.setParam("wt", "json");
request.setParam("json",
"{\"queries\":[\"foo:\\\"5a6127a7234e76473a816f1c\\\"\"],\"compare\":[{\"type\":\"bar\",\"limit\":30}]}");
request.set("rows", 10);
request.setParam("qf", "conceptname^10 tags^3 textproperty^2 file_text^4");
try {
QueryResponse response =
getStore().getEnvironment().getSolr().query(request,
SolrRequest.METHOD.POST);
NamedList<Object> rsp = response.getResponse();
ArrayList<SimpleOrderedMap<Object>> skg_resp =
(ArrayList<SimpleOrderedMap<Object>>) rsp.get("clusters");
if (skg_resp != null) {
}
}
Any idea what is wrong here? Any pointer to documentation on how to
construct request for Semantic Knowledge Graph through solrJ would be very
helpful.
Thanks
Pratik