LuceneSearchQueryType.java
上传用户:cctqzzy
上传日期:2022-03-14
资源大小:12198k
文件大小:24k
源码类别:

搜索引擎

开发平台:

Java

  1. package chapter6;
  2. import java.io.IOException;
  3. import java.util.Date;
  4. import org.apache.lucene.index.Term;
  5. import org.apache.lucene.document.Field;
  6. import org.apache.lucene.document.Document;
  7. import org.apache.lucene.index.IndexWriter;
  8. import org.apache.lucene.analysis.Analyzer;
  9. import org.apache.lucene.analysis.SimpleAnalyzer;
  10. import org.apache.lucene.search.Query;
  11. import org.apache.lucene.search.Hits;
  12. import org.apache.lucene.search.TermQuery;
  13. import org.apache.lucene.search.RangeQuery;
  14. import org.apache.lucene.search.BooleanQuery;
  15. import org.apache.lucene.search.PrefixQuery;
  16. import org.apache.lucene.search.PhraseQuery;
  17. import org.apache.lucene.search.FuzzyQuery;
  18. import org.apache.lucene.search.WildcardQuery;
  19. import org.apache.lucene.search.BooleanClause;
  20. import org.apache.lucene.search.IndexSearcher;
  21. import org.apache.lucene.queryParser.*;
  22. import org.apache.lucene.search.MultiSearcher;
  23. public class LuceneSearchQueryType {
  24. private static String Dest_Index_Path = "D:\workshop\TextIndex";
  25. static protected String[] keywords = {"001","002","003","004","005"};
  26. static protected String[] textdetail = {"记录 一","记录 二", "记录 三", "一 2345 记录", "记录 新 一"} ;
  27. private static String Dest_Index_Path2 = "D:\workshop\TextIndex2";
  28. static protected String[] keywords2 = {"001","002","003","004","005"};
  29. static protected String[] textdetail2 = {"Record 一","Record 二", "Record 三", "一 2345 Record", "Record 新 一"} ;
  30. /*================================================================
  31.  * 名 称:TermQueryTest
  32.  * 功 能:构造检索查询器,对指定的目录进行查询,找到指定的值,并输出相应结果。
  33.  ===============================================================*/
  34. public static void TermQueryTest(){
  35. try {
  36. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  37.     String searchWords = "记录一";
  38.     Term t = new Term("id","002");
  39.     Query query = new TermQuery(t);
  40. System.out.println(query.toString());
  41. Hits hits = searcher.search(query);
  42. System.out.println("Search result:");
  43. for(int i=0; i < hits.length(); i++)
  44. {
  45. System.out.println(hits.doc(i));
  46. System.out.println(hits.doc(i).getField("id"));
  47. }
  48. }catch (IOException e) {
  49. e.printStackTrace();
  50. }
  51. System.out.println("Search success");
  52. }
  53. /*================================================================
  54.  * 名 称:TermQueryParserTest
  55.  * 功 能:测试QueryParser生成TermQuery对象,并利用检索查询器,对指定的目录进行查询,
  56.  * 找到指定的值,并输出相应结果。
  57.  ===============================================================*/
  58. public static void TermQueryParserTest(){
  59. try {
  60. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  61.     String searchWords = "记录";
  62.     Analyzer analyzer = new SimpleAnalyzer();
  63.     QueryParser parser = new QueryParser("content",analyzer); 
  64.     try{
  65.     Query query = parser.parse(searchWords);
  66. System.out.println(query.toString());
  67. System.out.println(query.getClass());
  68. Hits hits = searcher.search(query);
  69. System.out.println("Search result:");
  70. for(int i=0; i < hits.length(); i++)
  71. {
  72. System.out.println(hits.doc(i));
  73. System.out.println(hits.doc(i).getField("id"));
  74. }
  75.     
  76.     } catch(ParseException e1){
  77. e1.printStackTrace();
  78.     }
  79. }catch (IOException e) {
  80. e.printStackTrace();
  81. }
  82. System.out.println("Search success");
  83. }
  84. /*================================================================
  85.  * 名 称:RangeQueryTest
  86.  * 功 能:构造范围检索查询器,对指定的目录进行查询,找到指定的值,并输出相应结果。
  87.  ===============================================================*/
  88. public static void RangeQueryTest(){
  89. try {
  90. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  91.     Term termStart = new Term("numval","150");
  92.     Term termEnd   = new Term("numval","155");
  93.     
  94.     Query query = new RangeQuery(termStart,termEnd,true);
  95. System.out.println(query.toString());
  96. Hits hits = searcher.search(query);
  97. System.out.println("Search result:");
  98. for(int i=0; i < hits.length(); i++)
  99. {
  100. System.out.println(hits.doc(i));
  101. }
  102. }catch (IOException e) {
  103. e.printStackTrace();
  104. }
  105. System.out.println("Search success");
  106. }
  107. /*================================================================
  108.  * 名 称:RangeQueryParserTest
  109.  * 功 能:测试QueryParser生成RangeQuery对象,并利用检索查询器,对指定的目录进行查询,
  110.  * 找到指定的值,并输出相应结果。
  111.  ===============================================================*/
  112. public static void RangeQueryParserTest(){
  113. try {
  114. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  115.     String searchWords = "{150 TO 155}";
  116.     Analyzer analyzer = new SimpleAnalyzer();
  117.     QueryParser parser = new QueryParser("numval",analyzer); 
  118.     try{
  119.     Query query = parser.parse(searchWords);
  120. System.out.println(query.toString());
  121. System.out.println(query.getClass());
  122. Hits hits = searcher.search(query);
  123. System.out.println("Search result:");
  124. for(int i=0; i < hits.length(); i++)
  125. {
  126. System.out.println(hits.doc(i));
  127. }
  128.     
  129.     } catch(ParseException e1){
  130. e1.printStackTrace();
  131.     }
  132. }catch (IOException e) {
  133. e.printStackTrace();
  134. }
  135. System.out.println("Search success");
  136. }
  137. /*================================================================
  138.  * 名 称:BooleanQueryTest
  139.  * 功 能:构造布尔检索查询器,对指定的目录进行查询,找到指定的值,并输出相应结果。
  140.  ===============================================================*/
  141. public static void BooleanQueryTest(){
  142. try {
  143. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  144.     Term term1 = new Term("content","记录");
  145.     Term term2 = new Term("content","二");
  146.     
  147.     TermQuery query1 = new TermQuery(term1);
  148.     TermQuery query2 = new TermQuery(term2);
  149.     BooleanQuery query = new BooleanQuery();
  150.     query.add(query1,BooleanClause.Occur.MUST);
  151.     query.add(query2,BooleanClause.Occur.MUST);
  152.     
  153. System.out.println(query.toString());
  154. Hits hits = searcher.search(query);
  155. System.out.println("Search result:");
  156. for(int i=0; i < hits.length(); i++)
  157. {
  158. System.out.println(hits.doc(i));
  159. }
  160. }catch (IOException e) {
  161. e.printStackTrace();
  162. }
  163. System.out.println("Search success");
  164. }
  165. /*================================================================
  166.  * 名 称:BooleanQueryParserTest
  167.  * 功 能:测试QueryParser生成BooleanQuery对象,并利用检索查询器,对指定的目录进行查询,
  168.  * 找到指定的值,并输出相应结果。
  169.  ===============================================================*/
  170. public static void BooleanQueryParserTest(){
  171. try {
  172. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  173.     String searchWords = "(记录 AND 一)";
  174. //     String searchWords = "((一 OR 二)AND 记录)";
  175.     Analyzer analyzer = new SimpleAnalyzer();
  176.     QueryParser parser = new QueryParser("content",analyzer); 
  177.     try{
  178.     Query query = parser.parse(searchWords);
  179. System.out.println(query.toString());
  180. System.out.println(query.getClass());
  181. Hits hits = searcher.search(query);
  182. System.out.println("Search result:");
  183. for(int i=0; i < hits.length(); i++)
  184. {
  185. System.out.println(hits.doc(i));
  186. }
  187.     
  188.     } catch(ParseException e1){
  189. e1.printStackTrace();
  190.     }
  191. }catch (IOException e) {
  192. e.printStackTrace();
  193. }
  194. System.out.println("Search success");
  195. }
  196. /*================================================================
  197.  * 名 称:PhraseQueryTest
  198.  * 功 能:构造短语检索查询器,对指定的目录进行查询,找到指定的值,并输出相应结果。
  199.  ===============================================================*/
  200. public static void PhraseQueryTest(){
  201. try {
  202. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  203.     Term term1 = new Term("content","记录");
  204.     Term term2 = new Term("content","一");
  205.     
  206.     PhraseQuery query = new PhraseQuery();
  207.     query.add(term1);
  208.     query.add(term2);
  209.     query.setSlop(2);
  210. System.out.println(query.toString());
  211. Hits hits = searcher.search(query);
  212. System.out.println("Search result:");
  213. for(int i=0; i < hits.length(); i++)
  214. {
  215. System.out.println(hits.doc(i));
  216. }
  217. }catch (IOException e) {
  218. e.printStackTrace();
  219. }
  220. System.out.println("Search success");
  221. }
  222. /*================================================================
  223.  * 名 称:PhraseQueryParserTest
  224.  * 功 能:测试QueryParser生成PhraseQuery对象,并利用检索查询器,对指定的目录进行查询,
  225.  * 找到指定的值,并输出相应结果。
  226.  ===============================================================*/
  227. public static void PhraseQueryParserTest(){
  228. try {
  229. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  230.     String searchWords = ""记录 一"";
  231.     Analyzer analyzer = new SimpleAnalyzer();
  232.     QueryParser parser = new QueryParser("content",analyzer); 
  233.     try{
  234.     Query query = parser.parse(searchWords);
  235. System.out.println(query.toString());
  236. System.out.println(query.getClass());
  237. Hits hits = searcher.search(query);
  238. System.out.println("Search result:");
  239. for(int i=0; i < hits.length(); i++)
  240. {
  241. System.out.println(hits.doc(i));
  242. System.out.println(hits.doc(i).getField("id"));
  243. }
  244.     
  245.     } catch(ParseException e1){
  246. e1.printStackTrace();
  247.     }
  248. }catch (IOException e) {
  249. e.printStackTrace();
  250. }
  251. System.out.println("Search success");
  252. }
  253. /*================================================================
  254.  * 名 称:PrefixQueryTest
  255.  * 功 能:构造前缀检索查询器,对指定的目录进行查询,找到指定的值,并输出相应结果。
  256.  ===============================================================*/
  257. public static void PrefixQueryTest(){
  258. try {
  259. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  260.     Term term1 = new Term("content","记录");
  261.     
  262.     PrefixQuery query = new PrefixQuery(term1);
  263. System.out.println(query.toString());
  264. Hits hits = searcher.search(query);
  265. System.out.println("Search result:");
  266. for(int i=0; i < hits.length(); i++)
  267. {
  268. System.out.println(hits.doc(i));
  269. }
  270. }catch (IOException e) {
  271. e.printStackTrace();
  272. }
  273. System.out.println("Search success");
  274. }
  275. /*================================================================
  276.  * 名 称:PrefixQueryParserTest
  277.  * 功 能:测试QueryParser生成PrefixQuery对象,并利用检索查询器,对指定的目录进行查询,
  278.  * 找到指定的值,并输出相应结果。
  279.  ===============================================================*/
  280. public static void PrefixQueryParserTest(){
  281. try {
  282. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  283.     String searchWords = "记录*";
  284.     Analyzer analyzer = new SimpleAnalyzer();
  285.     QueryParser parser = new QueryParser("content",analyzer); 
  286.     try{
  287.     Query query = parser.parse(searchWords);
  288. System.out.println(query.toString());
  289. System.out.println(query.getClass());
  290. Hits hits = searcher.search(query);
  291. System.out.println("Search result:");
  292. for(int i=0; i < hits.length(); i++)
  293. {
  294. System.out.println(hits.doc(i));
  295. }
  296.     
  297.     } catch(ParseException e1){
  298. e1.printStackTrace();
  299.     }
  300. }catch (IOException e) {
  301. e.printStackTrace();
  302. }
  303. System.out.println("Search success");
  304. }
  305. /*================================================================
  306.  * 名 称:IndexBuilder
  307.  * 功 能:构造磁盘索引,添加内容到指定目录,为后续检索查询做好准备。
  308.  ===============================================================*/
  309. public static void IndexBuilder(){
  310. try {
  311. Analyzer TextAnalyzer = new SimpleAnalyzer();
  312. IndexWriter TextIndex = new IndexWriter(Dest_Index_Path,TextAnalyzer,true);
  313.         TextIndex.setUseCompoundFile(true);
  314. for(int i = 0; i < 5 ; i++){
  315. Document document = new Document();
  316. Field field_id = new Field("id", keywords[i], 
  317. Field.Store.YES,Field.Index.UN_TOKENIZED);
  318. document.add(field_id);
  319. Field field_content = new Field("content", textdetail[i], 
  320. Field.Store.YES,Field.Index.TOKENIZED);
  321. document.add(field_content);
  322. TextIndex.addDocument(document);
  323. }
  324. TextIndex.optimize();
  325. TextIndex.close();
  326. }catch (IOException e) {
  327. e.printStackTrace();
  328. }
  329. System.out.println("Index success");
  330. }
  331. /*================================================================
  332.  * 名 称:IndexBuilder2
  333.  * 功 能:构造磁盘索引,添加内容到指定目录,为后续检索查询做好准备。
  334.  ===============================================================*/
  335. public static void IndexBuilder2(){
  336. try {
  337. Analyzer TextAnalyzer = new SimpleAnalyzer();
  338. IndexWriter TextIndex = new IndexWriter(Dest_Index_Path2,TextAnalyzer,true);
  339.         TextIndex.setUseCompoundFile(true);
  340. for(int i = 0; i < 5 ; i++){
  341. Document document = new Document();
  342. Field field_id = new Field("id", keywords2[i], 
  343. Field.Store.YES,Field.Index.UN_TOKENIZED);
  344. document.add(field_id);
  345. Field field_content = new Field("content", textdetail2[i], 
  346. Field.Store.YES,Field.Index.TOKENIZED);
  347. document.add(field_content);
  348. TextIndex.addDocument(document);
  349. }
  350. TextIndex.optimize();
  351. TextIndex.close();
  352. }catch (IOException e) {
  353. e.printStackTrace();
  354. }
  355. System.out.println("Index success");
  356. }
  357. /*================================================================
  358.  * 名 称:DataIndexBuilder
  359.  * 功 能:构造数据类型值的磁盘索引,添加内容到指定目录,为后续检索查询做好准备。
  360.  ===============================================================*/
  361. public static void DataIndexBuilder(){
  362. try {
  363. Integer nNum;
  364. Analyzer TextAnalyzer = new SimpleAnalyzer();
  365. IndexWriter TextIndex = new IndexWriter(Dest_Index_Path,TextAnalyzer,true);
  366.         TextIndex.setUseCompoundFile(true);
  367. System.out.println("Index Value:");
  368. for(int i = 100; i < 160 ; i++){
  369. Document document = new Document();
  370. nNum = i;
  371. String sortvalue = nNum.toString();
  372. System.out.print(sortvalue);
  373. System.out.print(" ");
  374. if( i%20 == 19){
  375. System.out.println("");
  376. }
  377. Field field_data = new Field("numval", sortvalue, 
  378. Field.Store.YES,Field.Index.UN_TOKENIZED);
  379. document.add(field_data);
  380. TextIndex.addDocument(document);
  381. }
  382. TextIndex.optimize();
  383. TextIndex.close();
  384. }catch (IOException e) {
  385. e.printStackTrace();
  386. }
  387. System.out.println("Index success");
  388. }
  389. /*================================================================
  390.  * 名 称:FuzzyQueryTest
  391.  * 功 能:构造模糊检索查询器,对指定的目录进行查询,找到指定的值,并输出相应结果。
  392.  ===============================================================*/
  393. public static void FuzzyQueryTest(){
  394. try {
  395. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  396. //      Term term = new Term("content","登录");
  397. // Term term = new Term("content","记者");
  398. Term term = new Term("content","记录");
  399.     FuzzyQuery query = new FuzzyQuery(term,0.1f,1);
  400. System.out.println(query.toString());
  401. Hits hits = searcher.search(query);
  402. System.out.println("Search result:");
  403. for(int i=0; i < hits.length(); i++)
  404. {
  405. System.out.println(hits.doc(i));
  406. }
  407. }catch (IOException e) {
  408. e.printStackTrace();
  409. }
  410. System.out.println("Search success");
  411. }
  412. /*================================================================
  413.  * 名 称:FuzzyQueryParserTest
  414.  * 功 能:测试QueryParser生成FuzzyQuery对象,并利用检索查询器,对指定的目录进行查询,
  415.  * 找到指定的值,并输出相应结果。
  416.  ===============================================================*/
  417. public static void FuzzyQueryParserTest(){
  418. try {
  419. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  420.     String searchWords = "记录一~0.1";
  421.     Analyzer analyzer = new SimpleAnalyzer();
  422.     QueryParser parser = new QueryParser("content",analyzer); 
  423.     try{
  424.     Query query = parser.parse(searchWords);
  425. System.out.println(query.toString());
  426. System.out.println(query.getClass());
  427. Hits hits = searcher.search(query);
  428. System.out.println("Search result:");
  429. for(int i=0; i < hits.length(); i++)
  430. {
  431. System.out.println(hits.doc(i));
  432. System.out.println(hits.doc(i).getField("id"));
  433. }
  434.     
  435.     } catch(ParseException e1){
  436. e1.printStackTrace();
  437.     }
  438. }catch (IOException e) {
  439. e.printStackTrace();
  440. }
  441. System.out.println("Search success");
  442. }
  443. /*================================================================
  444.  * 名 称:WildcardQueryTest
  445.  * 功 能:构造通配符检索查询器,对指定的目录进行查询,找到指定的值,并输出相应结果。
  446.  ===============================================================*/
  447. public static void WildcardQueryTest(){
  448. try {
  449. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  450. Term term = new Term("content","记*");
  451. WildcardQuery query = new WildcardQuery(term);
  452. System.out.println(query.toString());
  453. Hits hits = searcher.search(query);
  454. System.out.println("Search result:");
  455. for(int i=0; i < hits.length(); i++){
  456. System.out.println(hits.doc(i));
  457. }
  458. }catch (IOException e) {
  459. e.printStackTrace();
  460. }
  461. System.out.println("Search success");
  462. }
  463. /*================================================================
  464.  * 名 称:WildcardQueryParserTest
  465.  * 功 能:测试QueryParser生成WildcardQuery对象,并利用检索查询器,对指定的目录进行查询,
  466.  * 找到指定的值,并输出相应结果。
  467.  ===============================================================*/
  468. public static void WildcardQueryParserTest(){
  469. try {
  470. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  471.     String searchWords = "0*1";
  472.     Analyzer analyzer = new SimpleAnalyzer();
  473.     QueryParser parser = new QueryParser("id",analyzer); 
  474.     try{
  475.     Query query = parser.parse(searchWords);
  476. System.out.println(query.toString());
  477. System.out.println(query.getClass());
  478. Hits hits = searcher.search(query);
  479. System.out.println("Search result:");
  480. for(int i=0; i < hits.length(); i++)
  481. {
  482. System.out.println(hits.doc(i));
  483. System.out.println(hits.doc(i).getField("id"));
  484. }
  485.     
  486.     } catch(ParseException e1){
  487. e1.printStackTrace();
  488.     }
  489. }catch (IOException e) {
  490. e.printStackTrace();
  491. }
  492. System.out.println("Search success");
  493. }
  494. /*================================================================
  495.  * 名 称:MultiFeildQueryParserTest
  496.  * 功 能:测试QueryParser生成MultiFeildQuery对象,并利用检索查询器,对指定的目录进行查询,
  497.  * 找到指定的值,并输出相应结果。
  498.  ===============================================================*/
  499. public static void MultiFeildQueryParserTest(){
  500. try {
  501. String word_list[] ={"002","记录"};
  502. String feild_list[] ={"id","content"};
  503.     try{
  504.     
  505. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  506.     BooleanQuery boolquery = new BooleanQuery();
  507.     Analyzer analyzer = new SimpleAnalyzer();
  508.     for(int m=0;m<2;m++)
  509.     {
  510.        QueryParser parser = new QueryParser(feild_list[m],analyzer);
  511.        Query query = parser.parse(word_list[m]);
  512.        boolquery.add(query, BooleanClause.Occur.SHOULD);
  513.     }
  514.     //Query query = parser.parse(searchWords);
  515. System.out.println(boolquery.toString());
  516. System.out.println(boolquery.getClass());
  517. Hits hits = searcher.search(boolquery);
  518. System.out.println("Search result:");
  519. for(int i=0; i < hits.length(); i++)
  520. {
  521. System.out.println(hits.doc(i));
  522. System.out.println(hits.doc(i).getField("id"));
  523. }
  524.     
  525.     } catch(ParseException e1){
  526. e1.printStackTrace();
  527.     }
  528. }catch (IOException e) {
  529. e.printStackTrace();
  530. }
  531. System.out.println("Search success");
  532. }
  533. /*================================================================
  534.  * 名 称:MultiFeildQueryParserTest
  535.  * 功 能:测试QueryParser生成MultiFeildQuery对象,并利用检索查询器,对指定的目录进行查询,
  536.  * 找到指定的值,并输出相应结果。
  537.  ===============================================================*/
  538. public static void MultiFeildTermTest(){
  539. try {
  540. String word_list[] ={"002","记录"};
  541. String feild_list[] ={"id","content"};
  542.     try{
  543.     
  544. IndexSearcher searcher = new IndexSearcher(Dest_Index_Path);
  545.     BooleanQuery boolquery = new BooleanQuery();
  546.     Analyzer analyzer = new SimpleAnalyzer();
  547.     for(int m=0;m<2;m++)
  548.     {
  549.        QueryParser parser = new QueryParser(feild_list[m],analyzer);
  550.        Query query = parser.parse(word_list[m]);
  551.        boolquery.add(query, BooleanClause.Occur.SHOULD);
  552.     }
  553.     
  554.     //Query query = parser.parse(searchWords);
  555. System.out.println(boolquery.toString());
  556. System.out.println(boolquery.getClass());
  557. Hits hits = searcher.search(boolquery);
  558. System.out.println("Search result:");
  559. for(int i=0; i < hits.length(); i++)
  560. {
  561. System.out.println(hits.doc(i));
  562. System.out.println(hits.doc(i).getField("id"));
  563. }
  564.     
  565.     } catch(ParseException e1){
  566. e1.printStackTrace();
  567.     }
  568. }catch (IOException e) {
  569. e.printStackTrace();
  570. }
  571. System.out.println("Search success");
  572. }
  573. /*================================================================
  574.  * 名 称:MultiSearcherQueryTest
  575.  * 功 能:构造检索查询器,对指定的目录进行查询,找到指定的值,并输出相应结果。
  576.  ===============================================================*/
  577. public static void MultiSearcherQueryTest(){
  578. try {
  579. IndexSearcher searcher1 = new IndexSearcher(Dest_Index_Path);
  580. IndexSearcher searcher2 = new IndexSearcher(Dest_Index_Path2);
  581. IndexSearcher[] searchers = {searcher1,searcher2};
  582. MultiSearcher multisearcher = new MultiSearcher(searchers);
  583.     String searchWords = "二";
  584.     Term t = new Term("id","002");
  585.     Query query = new TermQuery(t);
  586. System.out.println(query.toString());
  587. Hits hits = multisearcher.search(query);
  588. System.out.println("Search result:");
  589. for(int i=0; i < hits.length(); i++)
  590. {
  591. System.out.println(hits.doc(i));
  592. System.out.println(hits.doc(i).getField("id"));
  593. }
  594. }catch (IOException e) {
  595. e.printStackTrace();
  596. }
  597. System.out.println("Search success");
  598. }
  599. /*================================================================
  600.  * 名 称:main
  601.  * 功 能:测试Lucene索引建立和检索查询功能。
  602.  ===============================================================*/
  603. public static void main(String[] args) {
  604. //IndexBuilder();
  605. //TermQueryTest();
  606. //TermQueryParserTest();
  607. //DataIndexBuilder();
  608. //RangeQueryTest();
  609. //RangeQueryParserTest();
  610. //IndexBuilder();
  611. //BooleanQueryTest();
  612. //BooleanQueryParserTest();
  613. //IndexBuilder();
  614. //PrefixQueryTest();
  615. //PrefixQueryParserTest();
  616. //IndexBuilder();
  617. //PhraseQueryTest();
  618. //PhraseQueryParserTest();
  619. //IndexBuilder();
  620. //FuzzyQueryTest();
  621. //FuzzyQueryParserTest();
  622. //IndexBuilder();
  623. //WildcardQueryTest();
  624. //WildcardQueryParserTest();
  625. //IndexBuilder();
  626. //MultiFeildQueryParserTest();
  627. IndexBuilder();
  628. IndexBuilder2();
  629. MultiSearcherQueryTest();
  630. System.out.println("Test success");
  631. }
  632. }