如何使用Lucene工具为Derby数据库实现全文搜索

时间:2016-11-04 09:56:50

标签: derby

运行luceneSupport可选工具的类路径: -

在运行luceneSupport可选工具之前,请设置类路径 包含以下jar文件:

  • 的derby.jar
  • derbyoptionaltools.jar
  • 核心:核心Lucene机械。对于Lucene 4.5.0,这是 lucene的核 - 4.5.0.jar。
  • analyzers-common:常见的Lucene分析仪。对于Lucene 4.5.0,这是 lucene的-分析器-共4.5.0.jar。
  • queryparser:查询解析的基本Lucene逻辑。对于Lucene 4.5.0,这是 lucene的-的QueryParser-4.5.0.jar。

首先我创建了一个数据库并插入了一些值..

connect 'jdbc:derby:musetitles;create=true';
create schema MUSE;
   set schema MUSE;



 create table titles (ID int generated always as identity, ISBN varchar(16),      PRINTISBN varchar(16), title varchar(1024), subtitle varchar(1024), author varchar(1024), series varchar(1024), publisher varchar(1024), collections varchar(128), collections2 varchar(128));



 insert into titles (ISBN, PRINTISBN, TITLE, SUBTITLE, AUTHOR, SERIES, PUBLISHER, COLLECTIONS, COLLECTIONS2) values ('9780823254859','9780823254811','American Dictators','Reading Rousseau through Fanon','Jane Anna Gordon teaches Political Science and African-American Studies at the University of Connecticut at Storrs. ','Just Ideas','Fordham University Press','2014 Complete','2014 Philosophy and Religion');



insert into titles (ISBN, PRINTISBN, TITLE, SUBTITLE, AUTHOR, SERIES, PUBLISHER, COLLECTIONS, COLLECTIONS2) values ('9780823255313','9780823255283','Shaping the Future of African American Film','','Kelly A. Parker is Professor of Philosophy, Environmental Studies, & Liberal Studies at Grand Valley State University.','American Philosophy','Fordham University Press','2014 Complete','2014 Philosophy and Religion');



 insert into titles (ISBN, PRINTISBN, TITLE, SUBTITLE, AUTHOR, SERIES, PUBLISHER, COLLECTIONS, COLLECTIONS2) values ('9780826353771','9780826353764','Buen Gusto and Classicism in the Visual Cultures of Latin America, 1780-1910','','Paul B. Niell','','University of New Mexico Press','2014 Complete','2014 History');



 insert into titles (ISBN, PRINTISBN, TITLE, SUBTITLE, AUTHOR, SERIES, PUBLISHER, COLLECTIONS, COLLECTIONS2) values ('9780813563749','9780813563732','Treating AIDS','Politics of Difference, Paradox of Prevention','Thurka Sangaramoorthy','','Rutgers University Press','2014 Complete','2014 Political Science and Policy Studies');



 insert into titles (ISBN, PRINTISBN, TITLE, SUBTITLE, AUTHOR, SERIES, PUBLISHER, COLLECTIONS, COLLECTIONS2) values ('9780870717215','9780870717208','Accomplishing NAGPRA','Perspectives on the Intent, Impact, and Future of the Native American Graves Protection and Repatriation Act','Edited by Sangita Chari and Jaime M. N. Lavallee','First Peoples: New Directions in Indigenous Studies','Oregon State University Press','2014 Complete','2014 Political Science and Policy Studies');

 ALTER TABLE "MUSE"."TITLES" ALTER COLUMN "ID" NOT NULL;

 ALTER TABLE "MUSE"."TITLES" ADD CONSTRAINT "PK_TITLES" PRIMARY KEY ("ID");



 call syscs_util.syscs_register_tool('luceneSupport',true);

 create procedure LuceneSupport.createIndex(schemaname varchar( 128 ),  tablename varchar( 128 ),textcolumn varchar( 128 ))parameter style java modifies sql data language java external name 'org.apache.derby.impl.optional.lucene.LuceneSupport.createIndex';

 CALL LUCENESUPPORT.CREATEINDEX( 'MUSE', 'TITLES', 'TITLE' ,null);

 SELECT * FROM TABLE( LUCENESUPPORT.LISTINDEXES() ) T;

 select * from table(MUSE.TITLES__TITLE('american -mexican',4, null)) t;

}

我希望在同一个表中的多列上进行全文搜索 我尝试了很多选项,但没有成功。请帮我解决这个问题。

0 个答案:

没有答案