我按照this步骤在Linux平台上运行Metamap Java API 2014 (Main page from metamap)
启动Metamap服务器之后,我在Metamap JavaAPI pakages中运行了一些主类,但它引发了Error when querying Prolog Server: Connection refused
然后我使用以下命令检查Metamap服务器是否在端口8066
上运行:
sudo netstat -tulpn | grep 8066
但我一无所获。
之前有没有人遇到过同样的问题,并且知道解决方案吗?
答案 0 :(得分:1)
运行skrmedpostctl
(以及可选的单词感知diambiguation服务器wsdserverctl
)后,您需要运行mmserver
可执行文件才能使用Java API for Metamap。这可以通过运行命令
./bin/mmserver{two-digit-year}
另外,请确保在类路径中包含metamap和prolog-beans的两个jar文件(在IDE中,这可以通过向这些jar添加依赖项来完成)。
答案 1 :(得分:0)
问题可能在于超时:当没有为MetaMapImpl指定timeout参数时,它被设置为0,因此实例会将任何延迟解释为失败并报告错误。
将超时时间增加到合理的值(对我来说500毫秒就足够了)。
答案 2 :(得分:0)
我收到错误SPIO_E_TOO_MANY_OPEN_FILES并丢失了与mmserver的连接后收到此错误。我试图在一个循环中构造MetaMapApiImpl
的实例并且调用processCitationsFromString
数千次。因此,大约一百次重复后,我收到错误SPIO_E_TOO_MANY_OPEN_FILES。
我为修复此错误所做的是通过调用函数disconnect()
来简单地断开循环结束时的api。
答案 3 :(得分:0)
您可以先运行" skrmedpostctl_start"来启动tagger服务器。那么你可以启动" metamap14.bat",现在你可以在命令行上运行metamap。但我找不到" mmserver"所以我无法使用metamap API。你是怎么解决的? PS。该网站对用户不友好。一些pycho主持人,你没有别的事可做吗?其他Q& A网站可以回答问题以及讨论。我使用这个网站只是因为我发现一个伙伴我遇到了同样的问题。该死的主持人应该闭嘴,做其他工作。