{"id":45893077,"url":"https://github.com/handsomezhou/PinyinSearchLibrary","last_synced_at":"2026-03-13T06:00:57.563Z","repository":{"id":23525570,"uuid":"26891999","full_name":"handsomezhou/PinyinSearchLibrary","owner":"handsomezhou","description":"Provide data analysis methods, data matching method and so on for T9 pinyin search and Qwerty pinyin search in Java. The project demonstrates contacts search and app search on android.","archived":false,"fork":false,"pushed_at":"2021-12-19T09:30:16.000Z","size":22130,"stargazers_count":518,"open_issues_count":0,"forks_count":135,"subscribers_count":30,"default_branch":"master","last_synced_at":"2023-10-26T07:59:02.789Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/handsomezhou/PinyinSearchLibrary","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/handsomezhou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-20T02:26:26.000Z","updated_at":"2023-05-29T07:18:31.000Z","dependencies_parsed_at":"2022-08-05T22:16:11.803Z","dependency_job_id":null,"html_url":"https://github.com/handsomezhou/PinyinSearchLibrary","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/handsomezhou/PinyinSearchLibrary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handsomezhou%2FPinyinSearchLibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handsomezhou%2FPinyinSearchLibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handsomezhou%2FPinyinSearchLibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handsomezhou%2FPinyinSearchLibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/handsomezhou","download_url":"https://codeload.github.com/handsomezhou/PinyinSearchLibrary/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/handsomezhou%2FPinyinSearchLibrary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30459760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T03:55:51.346Z","status":"ssl_error","status_checked_at":"2026-03-13T03:55:33.055Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-27T19:00:39.319Z","updated_at":"2026-03-13T06:00:57.545Z","avatar_url":"https://github.com/handsomezhou.png","language":"Java","funding_links":[],"categories":["人工智能"],"sub_categories":["自然语言处理"],"readme":"PinyinSearchLibrary\n===================\n\tThe library of PinyinSearch,a Java Library which provide data parsing methods, \n\tdata matching method and so on for T9 search and Qwerty search.\n\t\n\tPinyinSearch = T9Search + QwertySearch\n\t\n**If you're looking for other versions search project, you can find all of them at the following links:**\n\nJava(Android):\n[PinyinSearch](https://github.com/handsomezhou/PinyinSearchLibrary)\n[T9Search](https://github.com/handsomezhou/T9SearchLibrary)\n[QwertySearch](https://github.com/handsomezhou/QwertySearchLibrary)\n\nC++(Qt):\n[PinyinSearch](https://github.com/handsomezhou/pinyinsearch4cpp)\n\nWho uses it\n---------------\nPinyinSearchLibrary is currently used in some awesome Android apps. Here's a list of some of them: \n* [锤子桌面](http://www.wandoujia.com/apps/com.smartisanos.home)\n* [X股票助手](http://www.wandoujia.com/apps/com.handsomezhou.oscillationwave)\n* [X桌面助手](http://www.wandoujia.com/apps/com.handsomezhou.xdesktophelper) [[source code](https://github.com/handsomezhou/XDesktopHelper)]\n\nIf you are using PinyinSearchLibrary in your app and would like to be listed here, please let me know via \u003cp\u003e\u003ca href=\"mailto:quanjunzhou@gmail.com\"\u003equanjunzhou@gmail.com\u003c/a\u003e\u003c/p\u003e\n\nFeatures\n---------------\n * Support T9 search\n * Support Qwerty search\n * Support Chinese character search\n * Support Pinyin search\n * Support English search\n * Support polyphone search\n * Support highlight\n\nDepend\n---------------\n### The library of pinyin4j: \n\tPinyin4j is a popular Java library supporting convertion between Chinese characters \n\tand most popular Pinyin systems. The output format of pinyin could be customized.\n[original pinyin4j](http://pinyin4j.sourceforge.net/) or [light pinyin4j](https://github.com/handsomezhou/Pinyin4j/)\n\nRenderings\n---------------\n\u003cimg src=\"https://github.com/handsomezhou/PinyinSearchLibrary/blob/master/external_res/image/ContactsSearch.gif\"/\u003e\n\u003cimg src=\"https://github.com/handsomezhou/PinyinSearchLibrary/blob/master/external_res/image/AppSearch.gif\"/\u003e\n\nAPI\n---------------\n### Data structure:PinyinUnit\n\tPinyinUnit as a base data structure to save the string that Chinese characters  \n\tconverted to Pinyin characters.\n\t\n### Function:\n\tpublic static void parse(PinyinSearchUnit pinyinSearchUnit);\n\tpublic static boolean match(PinyinSearchUnit pinyinSearchUnit,String search);\n\tpublic static String getSortKey(PinyinSearchUnit pinyinSearchUnit);\n\tpublic static String getFirstLetter(PinyinSearchUnit pinyinSearchUnit);\n\tpublic static String getFirstCharacter(PinyinSearchUnit pinyinSearchUnit);\n\tpublic static boolean isChineseCharacter(char chr);\n\n### Function call:\n\tPinyinUtil.parse(...);\n\tT9Util.match(...);\n\tQwertyUtil.match(...);\n\tPinyinUtil.getSortKey(...);\n\tPinyinUtil.getFirstLetter(...);\n\tPinyinUtil.getFirstCharacter(...);\n\tPinyinUtil.isChineseCharacter(...);\n\t\nUsage\n---------------\t\n### Function call in detail:\n\tImport packages when use PinyinSearch Library(Dependent on pinyin4j-x.x.x.jar):\n\timport com.pinyinsearch.util.*;\n\timport com.pinyinsearch.model.*;\n\t\n\tThe first step:  Data parsing  (ps:Must init baseData of PinyinSearchUnit before parse)\n\t    * (PinyinUtil.parse(...))\n    The second step: Data matching \n\t    * (T9Util.match(...) or QwertyUtil.match(...))\n\t\n\tFor details, please see project ContactsSearch and AppSearch.\n\n### JAR download\n[pinyinsearch.jar](https://github.com/handsomezhou/PinyinSearchLibrary/blob/master/external_res/jar/pinyinsearch.jar?raw=true)\n\noriginal [pinyin4j-2.5.0.jar](https://github.com/handsomezhou/PinyinSearchLibrary/blob/master/external_res/jar/pinyin4j-2.5.0.jar?raw=true) Or light [pinyin4j.jar](https://github.com/handsomezhou/PinyinSearchLibrary/blob/master/external_res/jar/pinyin4j.jar?raw=true)(recommend)\n\t \n### Demo Apk\n[ContactsSearch](https://github.com/handsomezhou/PinyinSearchLibrary/blob/master/external_res/bin/ContactsSearch.apk?raw=true)\n\n[AppSearch](https://github.com/handsomezhou/PinyinSearchLibrary/blob/master/external_res/bin/AppSearch.apk?raw=true)\n\nAlgorithm introduction\n---------------\n1.[Pinyin search contacts analysis and implementation](http://blog.csdn.net/zjqyjg/article/details/41360769)\n\n2.[T9 search contacts analysis and implementation](http://blog.csdn.net/zjqyjg/article/details/41182911)\n\n3.[Qwerty search contacts analysis and implementation](http://blog.csdn.net/zjqyjg/article/details/41318907)\n\nLicense \n---------------\n\tCopyright 2014 handsomezhou\n\n\tLicensed under the Apache License, Version 2.0 (the \"License\");\n\tyou may not use this file except in compliance with the License.\n\tYou may obtain a copy of the License at\n\n\t\thttp://www.apache.org/licenses/LICENSE-2.0\n\t\t\n\tUnless required by applicable law or agreed to in writing, software\n\tdistributed under the License is distributed on an \"AS IS\" BASIS,\n\tWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\tSee the License for the specific language governing permissions and\n\tlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhandsomezhou%2FPinyinSearchLibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhandsomezhou%2FPinyinSearchLibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhandsomezhou%2FPinyinSearchLibrary/lists"}