Giter VIP home page Giter VIP logo

pinyinsearchlibrary's Introduction

PinyinSearchLibrary

The library of PinyinSearch,a Java Library which provide data parsing methods, 
data matching method and so on for T9 search and Qwerty search.

PinyinSearch = T9Search + QwertySearch

If you're looking for other versions search project, you can find all of them at the following links:

Java(Android): PinyinSearch T9Search QwertySearch

c plus plus(Qt): PinyinSearch

Features

  • Support T9 search
  • Support Qwerty search
  • Support Chinese character search
  • Support Pinyin search
  • Support English search
  • Support polyphone search
  • Support highlight

Depend

The library of pinyin4j:

Pinyin4j is a popular Java library supporting convertion between Chinese characters 
and most popular Pinyin systems. The output format of pinyin could be customized.

http://pinyin4j.sourceforge.net/

Renderings

API

Data structure:PinyinUnit

PinyinUnit as a base data structure to save the string that Chinese characters  
converted to Pinyin characters.

Function:

public static void parse(PinyinSearchUnit pinyinSearchUnit);
public static boolean match(PinyinSearchUnit pinyinSearchUnit,String search);
public static String getSortKey(PinyinSearchUnit pinyinSearchUnit);
public static String getFirstLetter(PinyinSearchUnit pinyinSearchUnit);
public static String getFirstCharacter(PinyinSearchUnit pinyinSearchUnit);
public static boolean isKanji(char chr);

Function call:

PinyinUtil.parse(...);
T9Util.match(...);
QwertyUtil.match(...);
PinyinUtil.getSortKey(...);
PinyinUtil.getFirstLetter(...);
PinyinUtil.getFirstCharacter(...);
PinyinUtil.isKanji(...);

Usage

Function call in detail:

Import packages when use PinyinSearch Library(Dependent on pinyin4j-x.x.x.jar):
import com.pinyinsearch.util.*;
import com.pinyinsearch.model.*;

The first step:  Data parsing  (ps:Must init baseData of PinyinSearchUnit before parse)
    * (PinyinUtil.parse(...))
The second step: Data matching 
    * (T9Util.match(...) or QwertyUtil.match(...))

For details, please see project ContactsSearch and AppSearch.

Support Library

pinyinsearch.jar

pinyin4j-2.5.0.jar

Demo Apk

ContactsSearch

AppSearch

Algorithm introduction

1.Pinyin search contacts analysis and implementation

2.T9 search contacts analysis and implementation

3.Qwerty search contacts analysis and implementation

License

Copyright 2014 handsomezhou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0
	
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

pinyinsearchlibrary's People

Contributors

handsomezhou avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.