Java调用Google API spelling check拼写检查

开发 后端
Google真是宝库,想调用拼写检查的API,这是一个Java调用的lib库和例子,很简单就可以调用了。

Google真是宝库,想调用拼写检查的API

这是一个Java调用的lib库和例子,很简单就可以调用了

http://code.google.com/p/google-api-spelling-java/

可以使用SVN检出源码 http://google-api-spelling-java.googlecode.com/svn/trunk/

貌似是用maven管理的,由于目前还没接触maven,checkout后断开svn连接,手动改了目录,把依赖的jar包加到路径下,才可以运行...鄙视自己一下...

下面的源码里的测试代码,我加了一个判空

Java代码

  1. package org.xeustechnologies.googleapi.spelling;     
  2.     
  3. public class Test {     
  4.     @org.junit.Test     
  5.     public void check() {     
  6.         SpellChecker checker = new SpellChecker();     
  7.         checker.setOverHttps( true ); // Now default is true     
  8.         checker.setLanguage( Language.ENGLISH ); // Default is English     
  9.     
  10.         SpellRequest request = new SpellRequest();     
  11.         request.setText( "google baidu twitter facebook yahoo microsoft ibm" );     
  12.         request.setIgnoreDuplicates( true );     
  13.     
  14.         SpellResponse spellResponse = checker.check( request );     
  15.     
  16.         if(spellResponse.getCorrections() != null){     
  17.             for( SpellCorrection sc : spellResponse.getCorrections() )     
  18.                 System.out.println( sc.getValue() );     
  19.         }else{     
  20.             System.out.println("It's OK!");     
  21.         }     
  22.     }     
  23. }  

 

后台实现原理在项目页面也讲了

应该是向 www.google.com/tbproxy/spell 接口发送一个xml文件

Xml代码

  1. xml version="1.0" encoding="UTF-8" standalone="yes"?>    
  2. <spellrequest textalreadyclipped="0" ignoredigits="1" ignoreallcaps="1"    
  3.     ignoredups="1">    
  4.     <text>google baidu facebook yahoo microsoft ibmtext>    
  5. spellrequest>    

 

 

接收一个xml

Xml代码

  1. xml version="1.0" encoding="UTF-8"?>    
  2. <spellresult error="0" clipped="0" charschecked="49">    
  3.     <c o="7" l="5" s="0">baud Baird bad bid bawdyc>    
  4.     <c o="21" l="8" s="0">    
  5.         face book face-book casebook passbook forsook     
  6.     c>    
  7.     <c o="36" l="9" s="0">    
  8.         Microsoft micro soft micro-soft micros oft micros-oft     
  9.     c>    
  10.     <c o="46" l="3" s="0">IBM ICBM BM ABM I'mc>    
  11. spellresult>    

 

 

哈哈,只有google是正确的拼法 ^_^

在这篇05年的文章 里讲了这几个参数的意义,那时候还得用反向工程获得调用接口:

 

 

几个小疑问:s 的意思是说建议的可信度吗,具体有几个级别不清楚;text他说用tab分隔?应该是用空格分隔吧。

这篇文章后面说要建一个ajax的调用接口,不知后来完成没

 

PS:这篇文章 提到Google接口有限制

写道

 

  1. There are some limitations to be mentioned as well. The Google web API allows 10 words to be sent at a time and a limit of 1000 connections per key per day. 

我测试超过10个词也是可以使用的,是不是现在google对api的访问不限制了或者字数变多了,不太清楚。嗯,做个测试吧,调用几千次试试。

PS2:在Google Code 里为什么找不到spell check 的相应API呢,是不是隐藏在哪个大的API下面?

PS3:很郁闷的一件事,在http://plugins.jquery.com/ 里面搜索“spell”什么都没有,可明明就有这个插件啊(见资源),为什么搜不出来呢?不过这个插件还需要后台Server端配置,看来是不能直接在前台调用google的api了,嗯,我死心了,就用那个java的lib调用吧...

====================

资源:

1. 附件是google code上的api调用jar包和依赖lib;

2. 有一个网站做了基于ajax的拼写检查,这里是他的免费网页版,放在这里备忘

http://orangoo.com/spellcheck/

3. 有一个拼写检查jquery的插件,刚看到,这里网址 ,插件在http://plugins.jquery.com/project/spellcheck 不过需要Server端配置,提供了php的例子

【编辑推荐】

  1. Java API解析名称空间的几种方法
  2. 发现Java虚拟机内存泄露问题
  3. Java编译过程与c/c++编译过程有何不同
  4. 程序员必备Java API
  5. VMWare发布虚拟基础架构Java API及Jython脚本示例
责任编辑:金贺 来源: JavaEye博客
相关推荐

2016-11-14 15:02:28

拼写检查安全

2011-12-02 09:20:58

JavaScript

2009-12-08 19:34:26

PHP拼写检查函数库

2010-03-12 19:03:48

Python 拼写检查

2009-07-03 09:12:59

Java JSP

2009-01-04 09:16:11

google Read开发APIGoogle API

2015-03-18 10:58:27

Google Now API

2009-04-22 17:16:50

Analytics AGoogle测试

2021-10-07 11:02:25

微软Edge浏览器

2009-02-09 09:30:20

Google APIAJAX SearchGoogle News

2011-12-02 09:59:29

API

2014-12-08 12:50:24

Android AutGoogle

2013-03-04 14:24:58

Google Maps

2011-09-21 14:17:12

Google+

2013-02-28 13:35:02

Google Maps

2011-09-20 11:06:26

网易邮箱极速4.0

2009-06-14 21:54:37

动态语言Java脚本API

2009-09-27 09:54:59

Google Site

2011-09-07 10:53:24

Google+

2015-03-13 15:21:23

phpgoogleapi
点赞
收藏

51CTO技术栈公众号