gpt4 book ai didi

php - 如何排除 Mecab 解析器功能障碍

转载 作者:行者123 更新时间:2023-11-30 21:36:42 25 4
gpt4 key购买 nike

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

1) 显示创建表:

FULLTEXT KEY search_newsletter (letter_title, letter_abstract, letter_body) /*!50100 WITH PARSER mecab */ ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

2) 显示插件:

ngram | ACTIVE | FTPARSER | NULL | GPL | mecab | ACTIVE | 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 中静态链接,因此您不需要系统安装,但是 the docs表明情况并非总是如此。

您的编码设置是否正确?

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

希望对您有所帮助。

关于php - 如何排除 Mecab 解析器功能障碍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53584036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com