簡體   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