[英]Metamap run local raise “Error when querying Prolog Server: Connection refused”
I follow this steps to run the Metamap Java API 2014 on Linux platform ( Main page from metamap ) 我按照以下步骤在Linux平台上运行Metamap Java API 2014( metamap主页 )
After start Metamap server, I run some main class in Metamap JavaAPI pakages, but it raises Error when querying Prolog Server: Connection refused
启动Metamap Server之后,我在Metamap JavaAPI包装中运行一些主类,但是
Error when querying Prolog Server: Connection refused
会引发Error when querying Prolog Server: Connection refused
Then I check if the Metamap server is running on port 8066
by using the command: sudo netstat -tulpn | grep 8066
然后,使用以下命令检查Metamap服务器是否在端口
8066
上运行: sudo netstat -tulpn | grep 8066
sudo netstat -tulpn | grep 8066
but I receive nothing. 但我什么也没收到。
Did anyone had the same problem before and knows solution for this? 有没有人曾经遇到过同样的问题,并且知道解决方案?
After running skrmedpostctl
(and the optional word sense diambiguation server wsdserverctl
), you need to run the mmserver
executable in order to use the Java API for Metamap. 运行
skrmedpostctl
(和可选的词义区分歧义服务器wsdserverctl
)之后,您需要运行mmserver
可执行文件才能使用Java API for Metamap。 This can be run by running the command 可以通过运行命令来运行
./bin/mmserver{two-digit-year}
Also, be sure to include the two jar files for metamap and prolog-beans in your classpath (in your IDE, this can be done by adding a dependency to these jars). 另外,请确保在类路径中包括用于metamap和prolog-beans的两个jar文件(在IDE中,可以通过向这些jar添加依赖项来完成)。
The issue may reside with the timeout: when the timeout parameter is not specified for the MetaMapImpl, it is set to 0, so the instance interprets any latency as failure and reports an error. 问题可能与超时有关:未为MetaMapImpl指定超时参数时,将其设置为0,因此该实例将任何延迟解释为失败并报告错误。
Increase the timeout to a reasonable value (for me 500 msec was enough). 将超时增加到一个合理的值(对我而言,500毫秒就足够了)。
I was getting this error after getting error SPIO_E_TOO_MANY_OPEN_FILES and losing the connection to the mmserver. 在收到错误SPIO_E_TOO_MANY_OPEN_FILES并失去与mmserver的连接后,我得到此错误。 I was tryig to construct instances of
MetaMapApiImpl
in a loop and calling processCitationsFromString
for thousands of times. 我
MetaMapApiImpl
在一个循环中构造MetaMapApiImpl的实例,并调用processCitationsFromString
数千次。 Therefore, I was getting error SPIO_E_TOO_MANY_OPEN_FILES after around a hundred repeats. 因此,大约一百次重复后,我得到了错误SPIO_E_TOO_MANY_OPEN_FILES。
What I did to fix this error was to simply disconnect the api at the end of the loop, by calling the function disconnect()
. 我要解决此错误的方法是,只需在循环结束时通过调用函数
disconnect()
来断开api的disconnect()
。
You can first start the tagger server by running "skrmedpostctl_start" then you can start the "metamap14.bat", now you can run metamap on command line. 您可以先通过运行“ skrmedpostctl_start”启动标记服务器,然后再启动“ metamap14.bat”,现在就可以在命令行上运行元地图了。 But I cannot find "mmserver" so I can't use metamap API.
但是我找不到“ mmserver”,所以无法使用元图API。 How did you solve that? PS.
你怎么解决的?PS。 The website is extremely user-unfriendly.
该网站对用户极为不友好。 Some pycho moderator, do u have nothing else to do ?
一些pycho主持人,您别无其他事吗? Other Q&A website can answer a question as well as discussion.
其他问答网站可以回答问题并进行讨论。 I am using this website simply because I find a buddy who had the same problem I have.
我之所以使用这个网站,仅仅是因为我发现一个遇到同样问题的好友。 The damn moderator should just shut up and do ur other jobs.
该死的主持人应该闭嘴,做其他工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.