繁体   English   中英

如何解决Mecab分析器功能异常

[英]How to Troubleshoot Mecab Parser Dysfunction

背景 :尽管我的主机服务器确认我已正确安装了日语mecab解析器,但我已经构建了一个自定义搜索引擎,该引擎在英语下工作正常,但在日语下却无法运行。 我自己的检查显示以下内容:

1) 显示创建表

全文键search_newsletterletter_titleletter_abstractletter_body )/ *!50100 WITH PARSER mecab * /)ENGINE = InnoDB AUTO_INCREMENT = 5 DEFAULT CHARSET = latin1

2) 显示插件

ngram | 活动| FTPARSER | NULL | GPL | 微型电脑 活动| FTPARSER | libpluginmecab.so | GPL

实施方式

1) MYSQL语句

$sql ="SELECT letter_no, letter_lang, letter_title, letter_abstract, submission_date, revision_date, MATCH (letter_title, letter_abstract, letter_body) AGAINST (? IN NATURAL LANGUAGE MODE) AS letter_score FROM sevengates_letter WHERE MATCH (letter_title, letter_abstract, letter_body) AGAINST (? IN NATURAL LANGUAGE MODE) ORDER BY letter_score DESC";

2) 自定义搜索引擎

请参阅https://www.grammarcaptive.com/overview.html的“ 本地搜索/新闻通讯”下的内容

3)搜索文件

请参见https://www.grammarcaptive.com/overview.html的 常规更新/新闻简讯/档案/日语下

评论 :PHP和MySQL都没有抱怨。 只是,不会返回任何需要解析的日语单词搜索。 例如,可以搜索和找到单词日本语,但是不需要检索任何解析。 在新闻通讯中搜索其他日语单词失败。

请求 :任何故障排除提示将不胜感激。

罗迪

您可以检查几件事:

Mecab是否在命令行上工作?

假设使用类似linux的系统,您应该能够执行以下操作:

echo "日本語ですよ" | mecab

输出应大致如下所示(细节可能会有所不同):

日本    名詞,固有名詞,地名,国,*,*,ニッポン,日本,日本,ニッポン,日本,ニッポン,固,*,*,*,*
語      名詞,普通名詞,一般,*,*,*,ゴ,語,語,ゴ,語,ゴ,漢,*,*,*,*
です    助動詞,*,*,*,助動詞-デス,終止形-一般,デス,です,です,デス,です,デス,和,*,*,*,*
よ      助詞,終助詞,*,*,*,*,ヨ,よ,よ,ヨ,よ,ヨ,和,*,*,*,*

在某些平台上,mecab是在MySQL中静态链接的,因此您不需要系统安装,但是文档表明,情况并非总是如此。

您的编码设置正确吗?

表格的默认字符集为latin1 ,不适用于日语文本。 我建议使用utf8,您需要检查您的mecab安装是否支持该功能。

希望能有所帮助。

事实证明,必须对整个表进行编码,而不仅仅是对列进行编码。 好吧,至少这是我重组桌子时做出的一个重大改变。

无论如何,解析器都不会出现在显然要出现解析器的myPhpAdmin表部分中。 可能是由于解析器出现在表的SHOW CREATE语句中的方式所致。 无论如何,与解析器的整体功能相比,这是一个小缺点。

罗迪

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM