US20100174744A1 - Search methods - Google Patents
Search methods Download PDFInfo
- Publication number
- US20100174744A1 US20100174744A1 US12/726,976 US72697610A US2010174744A1 US 20100174744 A1 US20100174744 A1 US 20100174744A1 US 72697610 A US72697610 A US 72697610A US 2010174744 A1 US2010174744 A1 US 2010174744A1
- Authority
- US
- United States
- Prior art keywords
- record
- fragment
- string
- data block
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/26—Devices for calling a subscriber
- H04M1/27—Devices whereby a plurality of signals may be stored simultaneously
- H04M1/274—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
- H04M1/2745—Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
- H04M1/27467—Methods of retrieving data
- H04M1/2748—Methods of retrieving data by matching character strings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
Definitions
- the present invention relates to search methods, and, more particularly, to search methods based on string fragments.
- the conventional address book search method provides first and last name search string fields. This method, however, makes the user interface too complicated for most applications, particularly in mobile phones.
- Search methods are provided in the present invention.
- a string is first received.
- the string is divided to generate at least one string fragment set, comprising of at least a first and a second fragment.
- At least a record conforming to the string fragment set is searched for and retrieved.
- a first data block of the record may include or begin with the first fragment, and a second block may include or begin with the second fragment.
- the first block may include or begin with the second fragment, and the second block may include or begin with the first fragment.
- the string is divided according to any position in the string to generate two fragments. For example, if the string is “ABC”, and the string is divided according to any position in the string, three string fragment sets are generated.
- the string fragment sets are “”(empty) and “ABC”, “A” and “BC”, and “AB” and “C”, respectively.
- the data blocks can be in different data fields, such as first name, last name, and company name fields, or in the same data filed with a division symbol for separating the data blocks.
- the string can be further divided so that the first or second fragment comprises the entire string.
- the first and second data blocks can be in different data fields or in the same data field.
- the string comprises a division symbol such as a blank space, a comma, or a slash
- the string is divided according to the position of the division symbol.
- a keystroke set is received, and the keystroke corresponds to a plurality of letters.
- the keystroke set is divided to generate at least one keystroke fragment set, comprising of at least a first and a second fragment.
- a record conforming to the keystroke fragment set is searched and retrieved.
- a first block may include or begin with a first letter combination corresponding to the keystrokes in the first fragment, and a second block may include or begin with a second letter combination corresponding to the keystrokes in the second fragment.
- the first block may include or begin with the second letter combination corresponding to the keystrokes in the second fragment, and the second block may include or begin with a first letter combination corresponding to the keystrokes in the first fragment.
- the keystroke set can be further divided so that the first or the second fragment comprises the entire keystroke set.
- the first and second data blocks can be in different data fields or in the same data field.
- the keystroke set is divided according to the position of a division symbol if the keystroke set comprises of the division symbol.
- Search methods may take the form of program code embodied in a tangible medium.
- the program code When the program code is loaded and executed by a machine, the instrument becomes an apparatus for practicing the disclosed method.
- FIG. 1 is a flowchart of an embodiment of a search method
- FIG. 2 is a schematic diagram illustrating an embodiment of a storage medium with a computer program for search method execution
- FIG. 3 is a second schematic diagram illustrating an embodiment of a storage medium with a computer program for search method execution
- FIG. 4 is a schematic diagram illustrating a keypad of a mobile phone.
- FIGS. 5A to 5C show search examples.
- FIG. 1 is a flowchart of an embodiment of a search method.
- the search method is suitable for use in computer systems and also in portable devices such as laptops, mobile phones, PDAs, and smart phones.
- step S 110 a string is received.
- step S 120 it is determined whether a predefined division symbol, such as a blank space, a comma, or a slash is in the string. If so (Yes in step S 130 ), in step S 140 , the string is divided according to the position of the division symbol in the string to generate a string fragment set.
- the string fragment set comprises at least a first and a second fragments.
- the first fragment is “AB”
- the second fragment is “C”
- the first fragment is “C”
- the second fragment is “AB”.
- the division symbol is at beginning or end of the string, such as “/ABC” or “ABC/”
- either the first or second fragment contains the entire string, and the other fragment is empty.
- step S 150 the string is divided according to predetermined partitions to generate string fragment sets.
- the predetermined partitions divide the string at any position.
- the string fragment sets are “A/BC”, “AB/C”, and “ABC” (/ABC or ABC/) if the input string is “ABC”. It is noted that the string fragment set “A/BC” includes two fragments—“A” and “BC”, the string fragment set “AB/C” includes two fragments—“AB” and “C”, and the string fragment set “ABC” includes two fragments—“ABC” and “” (empty).
- a first data block of the record may include or begin with the first fragment of a specific string fragment set, and a second block may include or begin with the second fragment of the string fragment set. Additionally, the first block may include or begin with the second fragment of a specific string fragment set, and the second block may include or begin with the first fragment of the string fragment set. It is understood that the first and second blocks may include different data fields, such as first name, last name, and company name fields. Furthermore, the first and second data blocks maybe in the same data field, where the first and second data blocks are separated by a division symbol, such as a blank space.
- the record conforming to the string fragment set “A/BC” may be the first data block including or beginning with “A” and the second data block including or beginning with “BC”, or the first data block including or beginning with “BC” and the second data block including or beginning with “A.”
- step S 170 the retrieved records are shown. It is understood that a selection of the record, such as a selection of an address record, can be received. When the selection is received, detailed information of the selected record can be displayed, or a number corresponding to the selected record can be dialed.
- the conformation determination can follow two procedures. If “begin” is used in practice and the input string is “ABC”, the general retrieval syntax for all string fragment sets is “ABC*”, “*dABC*”, “A*dBC*”, “*dA*dBC*”, “BC*dA*”, “*dBC*dA*”, “AB*dC*”, “*dAB*dC*”, “C*dAB*”, and “*dC*dAB*”, where “*” represents zero to multiple arbitrary symbols, “d” represents the division symbol.
- a search method for predictive keystrokes is provided.
- a keystroke set is first received, and the keystroke corresponds to a plurality of letters or symbols.
- the keystroke set is divided to generate at least one keystroke fragment set.
- the keystroke fragment set comprises of a first and a second fragments.
- a record conforming to the keystroke fragment set is searched for and retrieved.
- a first data block of the record may include or begin with a first letter combination corresponding to the keystrokes in the first fragment, and a second block may include or begin with a second letter combination corresponding to the keystrokes in the second fragment.
- the first block may include or begin with the second letter combination corresponding to the keystrokes in the second fragment, and the second block may include or begin with first letter combination corresponding to the keystrokes in the first fragment.
- the input keystroke set is “ABC”, where the letter or symbol corresponding to the keystroke “A” comprises “A1” “A2”, “A3” and “A4”, the letter or symbol corresponding to the keystroke “B” comprises “B1”, “B2”, “B3” and “B4”, and the letter or symbol corresponding to the keystroke “C” comprises “C1”, “C2”, “C3” and “C4.”
- FIG. 4 is a schematic diagram illustrating keypad 400 in a mobile phone.
- JOHN WANG and the input string is “JOH”
- the divided string fragment sets are “J/OH”, “JO/H” and “JOH”
- 11 records are retrieved according to the string fragment sets, as shown in the block 500 of FIG. 5A , where the line represents a record, and a name is composed by several data blocks separated by a blank space.
- the string becomes “JOHN”
- the string fragment sets are “J/OHN”, “JO/HN”, “JOH/N” and “JOHN”
- nine records are retrieved according to the string fragment sets, as shown in the block 500 of FIG. 5B .
- the letter “W” is inputted, and the string becomes “JOHNW”.
- the string fragment sets are “J/OHNW”, “JO/HNW”, “JOH/NW”, “JOHN/W” and “JOHNW”, and the record of “JOHN WANG” can be retrieved according to the string fragment set “JOHN/W”, as shown in the block 500 of FIG. 5C .
- the strings are divided into two fragments and compared with two data blocks accordingly.
- the string can be divided into several fragments and compared with several data blocks accordingly.
- the matched record comprises three data blocks, and the respective data blocks include or begin with one of the fragments.
- FIG. 2 is a schematic diagram illustrating an embodiment of a storage medium with a computer program for search method execution.
- the computer program product comprises a storage medium 210 storing a computer readable program code for use in device 200 .
- the computer readable program code includes computer readable program code 211 receiving a string, computer readable program code 212 dividing the string to generate at least one string fragment set, comprising at least a first fragment and a second fragment, and computer readable program code 213 searching for and retrieving a record conforming to the string fragment set.
- a first data block of the record may include or begin with the first fragment, and a second block may include or begin with the second fragment.
- the first block may include or begin with the second fragment, and the second block may include or begin with the first fragment.
- FIG. 3 is a second schematic diagram illustrating an embodiment of a storage medium with a computer program for search method execution.
- the computer program product includes storage medium 310 storing computer readable program code for use in device 300 .
- the computer readable program code comprises computer readable program code 311 receiving a keystroke set, the keystroke corresponding to a plurality of letters, computer readable program code 312 dividing the keystroke set to generate at least one keystroke fragment set, comprising of at least a first fragment and a second fragment, and computer readable program codes 313 searching and retrieving a record conforming to the keystroke fragment set.
- a first data block of the record may include or begin with a first letter combination corresponding to the keystrokes in the first fragment, and a second block may include or begin with a second letter combination corresponding to the keystrokes in the second fragment.
- the first data block of the record may include or begin with the second letter combination corresponding to the keystrokes in the second fragment, and the second block may include or begin with first letter combination corresponding to the keystrokes in the first fragment.
- the corresponding search result may be a null set.
- the string is “JOHNWA”, and the string fragment set is “J/OHNWA”, there are probably many first name fields that include the letter “J”, but there is probably no record where the first name field includes “J” and, at the same time, the last name field includes “OHNWA.” Additionally, the user does not even need to finish typing “JOHN” before typing “W.” One could just type “JOHW.”
- the string “JOHW” can be analyzed and divided into the string fragment set “JOH/W” which filters out the record of “JOHN WANG.”
- the string “JWAN” can be used for searching the record of “JOHN WANG.” Further, the initials of a person, such as “JW” can be used for searching the record of “JOHN WANG.”
- Search methods may take the form of program code (i.e., executable instructions) embodied in tangible media, such as products, floppy diskettes, CD-ROMS, hard drives, or any other machine-readable storage medium.
- program code i.e., executable instructions
- tangible media such as products, floppy diskettes, CD-ROMS, hard drives, or any other machine-readable storage medium.
- the instrument When the program code is loaded into and executed by a machine such as a computer or a mobile phone, the instrument becomes an apparatus for practicing the methods.
- the techniques may also be embodied in the form of program code put out over some transmission medium, such as electrical wiring or cabling, through fiber optics, or via any other form, wherein, when the program code is received and loaded into and executed by a machine, such as a computer or a mobile phone device, the instrument becomes an apparatus for practicing the disclosed methods.
- the program code When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates analogously to application
Abstract
Search methods. A string is first received. The string is divided to generate at least one string fragment set, comprising of at least a first and a second fragments. A record conforming to the string fragment set is searched for and retrieved. A first data block of the record may include or begin with the first fragment, and a second block may include or begin with the second fragment. The first block may include or begin with the second fragment, and the second block may include or begin with the first fragment.
Description
- This Application is a Continuation of co-pending application Ser. No. 11/285,074, filed Nov. 23, 2005 and for which priority is claimed under 35 U.S.C. §120. This application claims priority to Application No. 093139827, filed in Taiwan on Dec. 21, 2004 under 35 U.S.C. §119, the entire contents of both of which are hereby incorporated by reference herein.
- The present invention relates to search methods, and, more particularly, to search methods based on string fragments.
- Devices such as computer systems and portable devices provide an address book function for managing address records. Most address books provide an easy-to-use single field interface for the quick entry of search strings, allowing address records to be retrieved accordingly. While simple and convenient, search results using this conventional method are often inconclusive. For example, entering a common first name such as “JOHN,” could yield numerous address records beginning with “JOHN.”
- As described previously, all portable devices, such as mobile phones, PDA phones, and smart phones, have address book functions. Since portable devices are limited in size, the search procedure is particularly inconvenient. For example, scrolling up and down to locate a correct address record requires more effort than on a personal computer.
- To improve search result accuracy, the conventional address book search method provides first and last name search string fields. This method, however, makes the user interface too complicated for most applications, particularly in mobile phones.
- Search methods are provided in the present invention. In the exemplary embodiment of this search method, a string is first received. The string is divided to generate at least one string fragment set, comprising of at least a first and a second fragment. At least a record conforming to the string fragment set is searched for and retrieved. A first data block of the record may include or begin with the first fragment, and a second block may include or begin with the second fragment. The first block may include or begin with the second fragment, and the second block may include or begin with the first fragment.
- The string is divided according to any position in the string to generate two fragments. For example, if the string is “ABC”, and the string is divided according to any position in the string, three string fragment sets are generated. The string fragment sets are “”(empty) and “ABC”, “A” and “BC”, and “AB” and “C”, respectively. Furthermore, the data blocks can be in different data fields, such as first name, last name, and company name fields, or in the same data filed with a division symbol for separating the data blocks.
- The string can be further divided so that the first or second fragment comprises the entire string.
- The first and second data blocks can be in different data fields or in the same data field.
- If the string comprises a division symbol such as a blank space, a comma, or a slash, the string is divided according to the position of the division symbol.
- In this exemplary embodiment, a keystroke set is received, and the keystroke corresponds to a plurality of letters. The keystroke set is divided to generate at least one keystroke fragment set, comprising of at least a first and a second fragment. A record conforming to the keystroke fragment set is searched and retrieved. A first block may include or begin with a first letter combination corresponding to the keystrokes in the first fragment, and a second block may include or begin with a second letter combination corresponding to the keystrokes in the second fragment. The first block may include or begin with the second letter combination corresponding to the keystrokes in the second fragment, and the second block may include or begin with a first letter combination corresponding to the keystrokes in the first fragment.
- The keystroke set can be further divided so that the first or the second fragment comprises the entire keystroke set.
- The first and second data blocks can be in different data fields or in the same data field.
- The keystroke set is divided according to the position of a division symbol if the keystroke set comprises of the division symbol.
- Search methods may take the form of program code embodied in a tangible medium. When the program code is loaded and executed by a machine, the instrument becomes an apparatus for practicing the disclosed method.
- Search methods will become understood more comprehensively by referring to the following detailed descriptions with reference to the accompanying drawings, wherein:
-
FIG. 1 is a flowchart of an embodiment of a search method; -
FIG. 2 is a schematic diagram illustrating an embodiment of a storage medium with a computer program for search method execution; -
FIG. 3 is a second schematic diagram illustrating an embodiment of a storage medium with a computer program for search method execution; -
FIG. 4 is a schematic diagram illustrating a keypad of a mobile phone; and -
FIGS. 5A to 5C show search examples. - Search methods are provided in the presented invention.
-
FIG. 1 is a flowchart of an embodiment of a search method. The search method is suitable for use in computer systems and also in portable devices such as laptops, mobile phones, PDAs, and smart phones. - In step S110, a string is received. In step S120, it is determined whether a predefined division symbol, such as a blank space, a comma, or a slash is in the string. If so (Yes in step S130), in step S140, the string is divided according to the position of the division symbol in the string to generate a string fragment set. The string fragment set comprises at least a first and a second fragments.
- For example, if the input string is “AB/C”, the first fragment is “AB”, and the second fragment is “C”, or the first fragment is “C”, and the second fragment is “AB”. It is understood that if the division symbol is at beginning or end of the string, such as “/ABC” or “ABC/”, either the first or second fragment contains the entire string, and the other fragment is empty.
- If not (No in step S130), in step S150, the string is divided according to predetermined partitions to generate string fragment sets. In this embodiment, the predetermined partitions divide the string at any position. For example, the string fragment sets are “A/BC”, “AB/C”, and “ABC” (/ABC or ABC/) if the input string is “ABC”. It is noted that the string fragment set “A/BC” includes two fragments—“A” and “BC”, the string fragment set “AB/C” includes two fragments—“AB” and “C”, and the string fragment set “ABC” includes two fragments—“ABC” and “” (empty).
- In step S160, a record conforming to any of the string fragment sets is searched for and retrieved. A first data block of the record may include or begin with the first fragment of a specific string fragment set, and a second block may include or begin with the second fragment of the string fragment set. Additionally, the first block may include or begin with the second fragment of a specific string fragment set, and the second block may include or begin with the first fragment of the string fragment set. It is understood that the first and second blocks may include different data fields, such as first name, last name, and company name fields. Furthermore, the first and second data blocks maybe in the same data field, where the first and second data blocks are separated by a division symbol, such as a blank space.
- For example, in the “A/BC” string fragment, the record conforming to the string fragment set “A/BC” may be the first data block including or beginning with “A” and the second data block including or beginning with “BC”, or the first data block including or beginning with “BC” and the second data block including or beginning with “A.”
- In step S170, the retrieved records are shown. It is understood that a selection of the record, such as a selection of an address record, can be received. When the selection is received, detailed information of the selected record can be displayed, or a number corresponding to the selected record can be dialed.
- As mentioned previously, the conformation determination can follow two procedures. If “begin” is used in practice and the input string is “ABC”, the general retrieval syntax for all string fragment sets is “ABC*”, “*dABC*”, “A*dBC*”, “*dA*dBC*”, “BC*dA*”, “*dBC*dA*”, “AB*dC*”, “*dAB*dC*”, “C*dAB*”, and “*dC*dAB*”, where “*” represents zero to multiple arbitrary symbols, “d” represents the division symbol. If “include” is used in practice and the input string is “ABC”, the general retrieval syntax for all string fragment sets is “*ABC*”, “*A*d*BC*”, “*BC*d*A*”, “*AB*d*C*”, and “*C*d*AB*.”A common characteristic of address book searching involves predictive letter entry. For example, phone button “2” can mean either “2”, “a”, “b” or “c.” In another embodiment, a search method for predictive keystrokes is provided. A keystroke set is first received, and the keystroke corresponds to a plurality of letters or symbols. The keystroke set is divided to generate at least one keystroke fragment set. The keystroke fragment set comprises of a first and a second fragments. A record conforming to the keystroke fragment set is searched for and retrieved. A first data block of the record may include or begin with a first letter combination corresponding to the keystrokes in the first fragment, and a second block may include or begin with a second letter combination corresponding to the keystrokes in the second fragment. The first block may include or begin with the second letter combination corresponding to the keystrokes in the second fragment, and the second block may include or begin with first letter combination corresponding to the keystrokes in the first fragment.
- The input keystroke set is “ABC”, where the letter or symbol corresponding to the keystroke “A” comprises “A1” “A2”, “A3” and “A4”, the letter or symbol corresponding to the keystroke “B” comprises “B1”, “B2”, “B3” and “B4”, and the letter or symbol corresponding to the keystroke “C” comprises “C1”, “C2”, “C3” and “C4.” For example,
FIG. 4 is a schematicdiagram illustrating keypad 400 in a mobile phone. Whenkeys -
“(A1|A2|A3|A4)(B1|B2|B3|B4)(C1|C2|C3|C4)*”, -
“*d(A1|A2|A3|A4)(B1|B2|B3|B4)(C1|C2|C3|C4)*”, -
“(A1|A2|A3|A4)*d(B1|B2|B3|B4)(C1|C2|C3|C4)*”, -
“*d(A1|A2|A3|A4)*d(B1|B2|B3|B4)(C1|C2|C3|C4)*”, -
“(B1|B2|B3|B4)(C1|C2|C3|C4)*d(A1|A2|A3|A4)*”, -
“*d(B1|B2|B3|B4)(C1|C2|C3|C4)*d(A1|A2|A3|A4)*”, -
“(A1|A2|A3|A4)(B1|B2|B3|B4)*d(C1|C2|C3|C4)*”, -
“*d(A1|A2|A3|A4)(B1|B2|B3|B4)*d(C1|C2|C3|C4)*”, -
“(C1|C2|C3|C4)*d(A1|A2|A3|A4)(B1|B2|B3|B4)*”, and -
“*d(C1|C2|C3|C4)*d(A1|A2|A3|A4)(B1|B2|B3|B4)*.” - When “include” is used, the general retrieval syntax for all string fragment sets of the keystroke “ABC” is:
-
“*(A1|A2|A3|A4)(B1|B2|B3|B4)(C1|C2|C3|C4)*”, -
“*(A1|A2|A3|A4)*d*(B1|B2|B3|B4)(C1|C2|C3|C4)*”, -
“*(B1|B2|B3|B4)(C1|C2|C3|C4)*d*(A1|A2|A3|A4)*”, -
“*(A1|A2|A3|A4)(B1|B2|B3|B4)*d*(C1|C2|C3|C4)*”, -
and “*(C1|C2|C3|C4)*d*(A1|A2|A3|A4)(B1|B2|B3|B4)*.” - For example, if a user wants to search for a record named
- “JOHN WANG” and the input string is “JOH”, the divided string fragment sets are “J/OH”, “JO/H” and “JOH”, and 11 records are retrieved according to the string fragment sets, as shown in the
block 500 ofFIG. 5A , where the line represents a record, and a name is composed by several data blocks separated by a blank space. When the user continues to input letter “N”, the string becomes “JOHN”, the string fragment sets are “J/OHN”, “JO/HN”, “JOH/N” and “JOHN”, and nine records are retrieved according to the string fragment sets, as shown in theblock 500 ofFIG. 5B . Then, the letter “W” is inputted, and the string becomes “JOHNW”. Conventionally, no record can be matched and retrieved since no string “JOHNW” is at the beginning of any data block. In this embodiment, the string fragment sets are “J/OHNW”, “JO/HNW”, “JOH/NW”, “JOHN/W” and “JOHNW”, and the record of “JOHN WANG” can be retrieved according to the string fragment set “JOHN/W”, as shown in theblock 500 ofFIG. 5C . - It is understood that in the described embodiments, the strings are divided into two fragments and compared with two data blocks accordingly. In some embodiments, the string can be divided into several fragments and compared with several data blocks accordingly. For example, when three fragments are divided, the matched record comprises three data blocks, and the respective data blocks include or begin with one of the fragments.
-
FIG. 2 is a schematic diagram illustrating an embodiment of a storage medium with a computer program for search method execution. The computer program product comprises astorage medium 210 storing a computer readable program code for use indevice 200. The computer readable program code includes computerreadable program code 211 receiving a string, computerreadable program code 212 dividing the string to generate at least one string fragment set, comprising at least a first fragment and a second fragment, and computerreadable program code 213 searching for and retrieving a record conforming to the string fragment set. A first data block of the record may include or begin with the first fragment, and a second block may include or begin with the second fragment. The first block may include or begin with the second fragment, and the second block may include or begin with the first fragment. -
FIG. 3 is a second schematic diagram illustrating an embodiment of a storage medium with a computer program for search method execution. The computer program product includesstorage medium 310 storing computer readable program code for use indevice 300. The computer readable program code comprises computerreadable program code 311 receiving a keystroke set, the keystroke corresponding to a plurality of letters, computerreadable program code 312 dividing the keystroke set to generate at least one keystroke fragment set, comprising of at least a first fragment and a second fragment, and computerreadable program codes 313 searching and retrieving a record conforming to the keystroke fragment set. A first data block of the record may include or begin with a first letter combination corresponding to the keystrokes in the first fragment, and a second block may include or begin with a second letter combination corresponding to the keystrokes in the second fragment. The first data block of the record may include or begin with the second letter combination corresponding to the keystrokes in the second fragment, and the second block may include or begin with first letter combination corresponding to the keystrokes in the first fragment. - It is understood that since most string fragment sets are unintended, the corresponding search result may be a null set. For example, if the string is “JOHNWA”, and the string fragment set is “J/OHNWA”, there are probably many first name fields that include the letter “J”, but there is probably no record where the first name field includes “J” and, at the same time, the last name field includes “OHNWA.” Additionally, the user does not even need to finish typing “JOHN” before typing “W.” One could just type “JOHW.” The string “JOHW” can be analyzed and divided into the string fragment set “JOH/W” which filters out the record of “JOHN WANG.” Similarly, the string “JWAN” can be used for searching the record of “JOHN WANG.” Further, the initials of a person, such as “JW” can be used for searching the record of “JOHN WANG.”
- Search methods, or certain aspects or portions thereof, may take the form of program code (i.e., executable instructions) embodied in tangible media, such as products, floppy diskettes, CD-ROMS, hard drives, or any other machine-readable storage medium. When the program code is loaded into and executed by a machine such as a computer or a mobile phone, the instrument becomes an apparatus for practicing the methods. The techniques may also be embodied in the form of program code put out over some transmission medium, such as electrical wiring or cabling, through fiber optics, or via any other form, wherein, when the program code is received and loaded into and executed by a machine, such as a computer or a mobile phone device, the instrument becomes an apparatus for practicing the disclosed methods. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates analogously to application-specific logic circuits.
- While the invention has been described by way of example and in terms of a preferred embodiment, it is to be understood that the invention is not limited thereto. Those who are skilled in this technology can still make various alterations and modifications without departing from the scope and spirit of this invention. Therefore, the scope of the present invention shall be defined and protected by the following claims and their equivalents.
Claims (14)
1. A search method, comprising:
receiving a string;
dividing the string to generate at least one string fragment set having at least a first fragment and a second fragment; and
searching and retrieving at least one record conforming to the string fragment set, wherein the first fragment or the second fragment matches with content of the record from the second character to the last character of the content.
2. The method of claim 1 further comprising:
searching and retrieving at least a first record conforming to the string fragment set, wherein the first record comprises a first data block and a second data block, the first fragment matches any portion of content from the second character to the last character of the first data block of the first record, and the second fragment matches any portion of content from the second character to the last character of the second data block of the first record; and
searching and retrieving at least a second record conforming to the string fragment set, wherein the second record comprises a first data block and a second data block, the second fragment matches any portion of content from the second character to the last character of the first data block of the second record, and the first fragment matches any portion of content from the second character to the last character of the second data block of the second record.
3. The method of claim 1 , further comprising receiving a keystroke set, wherein the keystroke corresponding to a plurality of letters, and the string is obtained based on the keystroke set.
4. The method of claim 1 , wherein the string further comprises a division symbol, and the string is divided according to the position of the division symbol.
5. The method of claim 4 , wherein the division symbol comprises a blank space, a comma or a slash.
6. The method of claim 2 , wherein the first record or the second record comprises at least one data field, and the method further comprises obtaining the first data block and the second data block of the record from the same data field thereof.
7. The method of claim 2 , wherein the first record or the second record comprises a plurality of data fields, and the method further comprises respectively obtaining the first data block and the second data block of the record from different data fields thereof.
8. A machine-readable storage medium having a computer program, which causes a device to perform a search method during operation, the method comprising:
receiving a string;
dividing the string to generate at least one string fragment set having at least a first fragment and a second fragment; and
searching and retrieving at least one record conforming to the string fragment set, wherein the first fragment or the second fragment matches with content of the record from the second character to the last character of the content.
9. The storage medium of claim 8 , the method further comprising:
searching and retrieving at least a first record conforming to the string fragment set, wherein the first record comprises a first data block and a second data block, the first fragment matches any portion of content from the second character to the last character of the first data block of the first record, and the second fragment matches any portion of content from the second character to the last character of the second data block of the first record; and
searching and retrieving at least a second record conforming to the string fragment set, wherein the second record comprises a first data block and a second data block, the second fragment matches any portion of content from the second character to the last character of the first data block of the second record, and the first fragment matches any portion of content from the second character to the last character of the second data block of the second record.
10. The storage medium of claim 8 , the method further comprising receiving a keystroke set, wherein the keystroke corresponding to a plurality of letters, and the string is obtained based on the keystroke set.
11. The storage medium of claim 8 , wherein the string further comprises a division symbol, and the string is divided according to the position of the division symbol.
12. The storage medium of claim 11 , wherein the division symbol comprises a blank space, a comma or a slash.
13. The storage medium of claim 9 , wherein the first record or the second record comprises at least one data field, and the method further comprises obtaining the first data block and the second data block of the record from the same data field thereof.
14. The storage medium of claim 9 , wherein the first record or the second record comprises a plurality of data fields, and the method further comprises respectively obtaining the first data block and the second data block of the record from different data fields thereof.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/726,976 US20100174744A1 (en) | 2004-12-21 | 2010-03-18 | Search methods |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW093139827A TWI258678B (en) | 2004-12-21 | 2004-12-21 | Search method, and computer readable medium thereof |
TW93139827 | 2004-12-21 | ||
US11/285,074 US7716195B2 (en) | 2004-12-21 | 2005-11-23 | Search methods |
US12/726,976 US20100174744A1 (en) | 2004-12-21 | 2010-03-18 | Search methods |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/285,074 Continuation US7716195B2 (en) | 2004-12-21 | 2005-11-23 | Search methods |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100174744A1 true US20100174744A1 (en) | 2010-07-08 |
Family
ID=36597366
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/285,074 Active 2026-03-19 US7716195B2 (en) | 2004-12-21 | 2005-11-23 | Search methods |
US12/726,976 Abandoned US20100174744A1 (en) | 2004-12-21 | 2010-03-18 | Search methods |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/285,074 Active 2026-03-19 US7716195B2 (en) | 2004-12-21 | 2005-11-23 | Search methods |
Country Status (2)
Country | Link |
---|---|
US (2) | US7716195B2 (en) |
TW (1) | TWI258678B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014071778A1 (en) * | 2012-11-06 | 2014-05-15 | 腾讯科技(深圳)有限公司 | Method for finding contact in address book and electronic terminal |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111079036B (en) * | 2019-11-25 | 2023-11-07 | 罗靖涛 | Field type searching method |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858106A (en) * | 1987-04-03 | 1989-08-15 | General Electric Company | Automated method implemented on a distributed data processing system for partitioning a data string into two substrings |
US5111398A (en) * | 1988-11-21 | 1992-05-05 | Xerox Corporation | Processing natural language text using autonomous punctuational structure |
US5329598A (en) * | 1992-07-10 | 1994-07-12 | The United States Of America As Represented By The Secretary Of Commerce | Method and apparatus for analyzing character strings |
US5708804A (en) * | 1994-07-25 | 1998-01-13 | International Business Machines Corp. | Apparatus and method therefor of intelligently searching for information in a personal communications device |
US5778370A (en) * | 1995-08-25 | 1998-07-07 | Emerson; Mark L. | Data village system |
US5787411A (en) * | 1996-03-20 | 1998-07-28 | Microsoft Corporation | Method and apparatus for database filter generation by display selection |
US5909666A (en) * | 1992-11-13 | 1999-06-01 | Dragon Systems, Inc. | Speech recognition system which creates acoustic models by concatenating acoustic models of individual words |
US5966126A (en) * | 1996-12-23 | 1999-10-12 | Szabo; Andrew J. | Graphic user interface for database system |
US6370518B1 (en) * | 1998-10-05 | 2002-04-09 | Openwave Systems Inc. | Method and apparatus for displaying a record from a structured database with minimum keystrokes |
US20020161752A1 (en) * | 1999-09-24 | 2002-10-31 | Hutchison William J. | Apparatus for and method of searching |
US20020181466A1 (en) * | 2001-04-06 | 2002-12-05 | Simon Neustein | System for converting a fuzzy address into a precise address and completing a communication or delivery |
US6609128B1 (en) * | 1999-07-30 | 2003-08-19 | Accenture Llp | Codes table framework design in an E-commerce architecture |
US20040093317A1 (en) * | 2002-11-07 | 2004-05-13 | Swan Joseph G. | Automated contact information sharing |
US6782380B1 (en) * | 2000-04-14 | 2004-08-24 | David Victor Thede | Method and system for indexing and searching contents of extensible mark-up language (XML) documents |
US20050193338A1 (en) * | 2001-06-11 | 2005-09-01 | Hawkins Jeffrey C. | Multi-context iterative directory filter |
US7007239B1 (en) * | 2000-09-21 | 2006-02-28 | Palm, Inc. | Method and apparatus for accessing a contacts database and telephone services |
US20060288298A1 (en) * | 1999-08-12 | 2006-12-21 | Robert Haitani | System, method and technique for enabling users to interact with address fields of messaging applications |
US7225188B1 (en) * | 2002-02-13 | 2007-05-29 | Cisco Technology, Inc. | System and method for performing regular expression matching with high parallelism |
-
2004
- 2004-12-21 TW TW093139827A patent/TWI258678B/en active
-
2005
- 2005-11-23 US US11/285,074 patent/US7716195B2/en active Active
-
2010
- 2010-03-18 US US12/726,976 patent/US20100174744A1/en not_active Abandoned
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858106A (en) * | 1987-04-03 | 1989-08-15 | General Electric Company | Automated method implemented on a distributed data processing system for partitioning a data string into two substrings |
US5111398A (en) * | 1988-11-21 | 1992-05-05 | Xerox Corporation | Processing natural language text using autonomous punctuational structure |
US5329598A (en) * | 1992-07-10 | 1994-07-12 | The United States Of America As Represented By The Secretary Of Commerce | Method and apparatus for analyzing character strings |
US5909666A (en) * | 1992-11-13 | 1999-06-01 | Dragon Systems, Inc. | Speech recognition system which creates acoustic models by concatenating acoustic models of individual words |
US5708804A (en) * | 1994-07-25 | 1998-01-13 | International Business Machines Corp. | Apparatus and method therefor of intelligently searching for information in a personal communications device |
US5778370A (en) * | 1995-08-25 | 1998-07-07 | Emerson; Mark L. | Data village system |
US5787411A (en) * | 1996-03-20 | 1998-07-28 | Microsoft Corporation | Method and apparatus for database filter generation by display selection |
US5966126A (en) * | 1996-12-23 | 1999-10-12 | Szabo; Andrew J. | Graphic user interface for database system |
US6370518B1 (en) * | 1998-10-05 | 2002-04-09 | Openwave Systems Inc. | Method and apparatus for displaying a record from a structured database with minimum keystrokes |
US6609128B1 (en) * | 1999-07-30 | 2003-08-19 | Accenture Llp | Codes table framework design in an E-commerce architecture |
US20060288298A1 (en) * | 1999-08-12 | 2006-12-21 | Robert Haitani | System, method and technique for enabling users to interact with address fields of messaging applications |
US20020161752A1 (en) * | 1999-09-24 | 2002-10-31 | Hutchison William J. | Apparatus for and method of searching |
US6782380B1 (en) * | 2000-04-14 | 2004-08-24 | David Victor Thede | Method and system for indexing and searching contents of extensible mark-up language (XML) documents |
US7007239B1 (en) * | 2000-09-21 | 2006-02-28 | Palm, Inc. | Method and apparatus for accessing a contacts database and telephone services |
US20020181466A1 (en) * | 2001-04-06 | 2002-12-05 | Simon Neustein | System for converting a fuzzy address into a precise address and completing a communication or delivery |
US20050193338A1 (en) * | 2001-06-11 | 2005-09-01 | Hawkins Jeffrey C. | Multi-context iterative directory filter |
US7225188B1 (en) * | 2002-02-13 | 2007-05-29 | Cisco Technology, Inc. | System and method for performing regular expression matching with high parallelism |
US20040093317A1 (en) * | 2002-11-07 | 2004-05-13 | Swan Joseph G. | Automated contact information sharing |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014071778A1 (en) * | 2012-11-06 | 2014-05-15 | 腾讯科技(深圳)有限公司 | Method for finding contact in address book and electronic terminal |
Also Published As
Publication number | Publication date |
---|---|
TWI258678B (en) | 2006-07-21 |
US7716195B2 (en) | 2010-05-11 |
US20060136397A1 (en) | 2006-06-22 |
TW200622722A (en) | 2006-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8515984B2 (en) | Extensible search term suggestion engine | |
US6557004B1 (en) | Method and apparatus for fast searching of hand-held contacts lists | |
US8442970B2 (en) | Creating and editing user search queries | |
JP5377143B2 (en) | Portable electronic devices | |
US7890492B2 (en) | Organizing pointers to objects in an array to improve the speed of object retrieval | |
US20090193334A1 (en) | Predictive text input system and method involving two concurrent ranking means | |
US20090013285A1 (en) | Method and System for Providing Navigable Search Results | |
US20070050728A1 (en) | Autocompletion for unordered lists | |
EP2109046A1 (en) | Predictive text input system and method involving two concurrent ranking means | |
US8099416B2 (en) | Generalized language independent index storage system and searching method | |
EP2184686A1 (en) | Method and system for generating derivative words | |
CN101876878A (en) | Word prediction input system and method | |
US20100121870A1 (en) | Methods and systems for processing complex language text, such as japanese text, on a mobile device | |
US10275483B2 (en) | N-gram tokenization | |
JP2013149273A (en) | Method, apparatus and computer program for providing input order independent character input mechanism | |
US20080068226A1 (en) | Smart filtering with multiple simultaneous keyboard inputs | |
JP2010257392A (en) | Device and method for inputting character, computer readable program, and recording medium | |
US20090327880A1 (en) | Text input | |
JP5033843B2 (en) | Name search device | |
US7716195B2 (en) | Search methods | |
US9208143B2 (en) | Electronic device and dictionary data display method | |
EP1791066A1 (en) | Search method for an address book database | |
CN102656582A (en) | Input support device | |
US7130470B1 (en) | System and method of context-based sorting of character strings for use in data base applications | |
US7636082B2 (en) | Dialing methods and related devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |