1.How many searchable fields?

We have provided 25 fields on which users can do a search,if users do not specify any fields that they want to search on, the default field would be a combination of 5 fields.These fields are the following: name, idOfRegistrarIANA, registrantName, adminName, techName. If users want to specify the field that they want to search on , they should use the field name followed by a colon and the searching keyword. For example if a user want to search domains whose registrant's name is 'jack', the query string seems like this: registrantName:jack. The following is the details about 25 fields(Case sensitive):

field name field purpose match model
name  name of the domain partial
idOfRegistrarIANA iana id of the registrar exact
registrantName name of the registrant  partial
registrantOrg organization of the registrant partial
registrantStreet street of the registrant adress partial
registrantCity city of the registrant address partial
registrantProvince province of the registrant address partial
registrantPostalCode postal code of the registrant address partial
registrantCountry country of the registrant address partial
adminName name of the administrative contact partial
adminOrg organization of the administrative contact partial
adminStreet street of the administrative contact address partial
adminCity city of the administrative contact address partial
adminProvince province of the administrative contact  address partial
adminPostalCode postal code of the administrative contact  address partial
adminCountry country of the administrative contact  address partial
techName name of the technical contact partial
techOrg organization of the technical contact partial
techStreet street of the technical contact address partial
techCity city of the technical contact address partial
techProvince province of the technical contact  address partial
techPostalCode postal code of the technical contact  address partial
techCountry country of the technical contact  address partial
hostNames name servers exact
hostAddrs ip addresses of name servers exact

2.Boolean Query

When you want to do a search on multiple fields, you may need boolean query.The boolean query can work by using the uppercase keywords "AND","OR" and "NOT".For example if a user want to search domains whose registrant's name is 'jack' and the city of the tech-contact is 'BJ', the query string seems like this,registrantName:jack AND techCity:BJ

3.How to contruct query terms effectively?

Since your query string will be split into many terms based on whitespace by the internal analyzer, so the more terms input, the more records will be matched. Composite search on multiple fields can help you narrow down the results.
In fact the SRS platform will index all registration information with "word segmentation" technology. The segmentation rules are as follows:
(1)The original string will be indexed
(2)The original string will be splitted with '.' and 'white space' characters, all splitted strings will be indexed
(3)Each splitted string got from rule 2 will be splitted by character '-' , all splitted strings will be indexed
(4)For each splitted string got from rule 2, if it consists of a word and digital number , the word and the digital number will be indexed
For example ,
if test1.tld,test2.tld,test3.tld,test-four.tld,testns.tld all be registered as domain names ,
indexes for test1.tld are {test,1,tld,test1,test1.tld};
indexes for test2.tld are {test,2,tld,test2,test2.tld};
indexes for test3.tld are {test,3,tld,test3,test3.tld};
indexes for test-four.tld are {test,four,tld,test-four,test-four.tld};
indexes for testns.tld are {testns,tld,testns.tld}.
Under this conditions ,
(1)if you search 'test1.tld', the return record set will be {test1.tld}
(2)if you search 'test1',the return record set will be {test1.tld}
(3)if you search '2', the return record set will be {test2.tld}
(4)if you search 'four', the return record set will be {test-four.tld}
(5)if you search 'tld', the return record set will be {test1.tld,test2.tld,test3.tld,test-four.tld,testns.tld}
(6)if you search 'testns', the return record set will be {testns.tld}
(7)if you search 'test', the return record set will be {test1.tld,test2.tld,test3.tld,test-four.tld}
(in case of 7 , when searching 'test' , testns.tld is not in the return record set, because following the rules described above , domain name 'testns.tld' only have a index set as {testns.tld,testns,tld} and {test} is not in this set)