Play frameworkã§mecab apiãèªçãã
Play frameworkã®ã¤ã³ã¹ãã¼ã«ã¯ï¼zipã解åããã ããªã®ã§çç¥ï¼
ç°å¢ã¯Ubuntu Desktop 10.04ï¼Mecabã¯UTF-8éªï¼
Mecabã®ã¤ã³ã¹ãã¼ã«ã¯ï¼http://d.hatena.ne.jp/Syo-Takasaki/20090528/1243484754 ãåç
§ãã¦ãã ããï¼
api/app/controllers/Mecab.javaã®ä½æ
$ which mecab /usr/bin/mecab
package controllers; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import play.mvc.*; public class Mecab extends Controller { public static void mecab(String sentence) throws IOException { StringBuilder sb = new StringBuilder(); Process process = Runtime.getRuntime().exec("/usr/bin/mecab"); OutputStream os = process.getOutputStream(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os)); bw.write(sentence + "\n"); bw.flush(); bw.close(); InputStream is = process.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while((line = br.readLine()) != null){ sb.append(line).append("\n"); } process.destroy(); String mecab_result = sb.toString(); render(mecab_result); } }
å®è¡ï¼
$ ./play run api
ãã©ã¦ã¶ããï¼ä»¥ä¸ã«ã¢ã¯ã»ã¹ãã¦ã¿ãï¼
http://127.0.0.1:9000/Mecab/mecab?sentence=å½¢æ ç´ è§£æãã¦ãããï¼