这里我创建了一个java程序,它连接到Marklogic数据库并使用字符串Keyword检索文档。以下是创建的程序。
import com.marklogic.client.DatabaseClient;
import com.marklogic.client.DatabaseClientFactory;
import com.marklogic.client.DatabaseClientFactory.Authentication;
import com.marklogic.client.document.BinaryDocumentManager;
import com.marklogic.client.document.JSONDocumentManager;
import com.marklogic.client.document.TextDocumentManager;
import com.marklogic.client.document.XMLDocumentManager;
import com.marklogic.client.io.Format;
import com.marklogic.client.io.StringHandle;
import com.marklogic.client.query.QueryManager;
import com.marklogic.client.query.StringQueryDefinition;
public class dcb_conn {
public static void main(String args[]){
DatabaseClient client = DatabaseClientFactory.newClient("localhost", 8004, "venkatesh", "F1mas", Authentication.DIGEST);
BinaryDocumentManager binDocMgr = client.newBinaryDocumentManager();
XMLDocumentManager XMLdocMgr = client.newXMLDocumentManager();
JSONDocumentManager JSONDocMgr = client.newJSONDocumentManager();
TextDocumentManager TextDocMgr = client.newTextDocumentManager();
QueryManager queryMgr = client.newQueryManager();
StringQueryDefinition query = queryMgr.newStringDefinition();
StringHandle resultsHandle = new StringHandle().withFormat(Format.XML);
query.setCriteria("Venkatesh");
queryMgr.search(query, resultsHandle);
}
}
我没有得到任何文档结果(例如ABC.xml)而是我得到了下面提到的结果。你能告诉我这里缺少什么吗?
10:24:36.139 [main] DEBUG c.m.client.DatabaseClientFactory - Creating new database client for server at localhost:8004
10:24:36.155 [main] DEBUG c.m.client.impl.JerseyServices - Connecting to localhost at 8004 as venkatesh
10:24:36.319 [main] DEBUG c.m.client.impl.JerseyServices - Searching for Venkatesh
答案 0 :(得分:4)
在这种情况下,首先要确保您能够与您用于搜索的用户一起阅读相关文档。我通常使用cURL对文档获取REST API进行这种健全性检查,例如
如果您能够获取文档,则搜索失败,这也可能是由于语言设置造成的。
所以,简短的建议是 - 删除尽可能多的移动部件,并与用户直接测试ML(查询控制台和/或REST等)