一 solr5.5環境部署到Eclipse(luna版)
? ?solr部署參見:http://blog.csdn.net/csmnjk/article/details/64121765
二 Ik分詞器設置
? ?IK分詞器設置參見:http://blog.csdn.net/csmnjk/article/details/51693578
? ? solr4版本的schema.xml文件對應solr5版本的managed-schema文件,確保http://localhost:8080/solr/admin.html登陸成功。
三 MySQl配置
? ?1.?連接MYSQL數據庫需要兩個jar包:solr-dataimporthandler-5.5.0 jar和mysql-connector-java-5.1.40-bin.jar。前一個包在solr-5.5.0/dist中,后一個包http://download.csdn.net/download/u012453843/9667329點擊下載。
? 2. 創建表
create table `article` ( `id` int unsigned not null auto_increment comment '主鍵編號', `title` varchar(64) not null comment '書名', `author`varchar(10) not null default 0 comment '作者', `type`varchar(10) not null default 0 comment '類型',primary key (`id`))
engine = innodb
auto_increment = 1
default character set = utf8 ;
3. 配置文件
? (1)在solrHome\core\conf中的solrcong.xml文件下新增如下配置
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst>
</requestHandler>
并注釋以下代碼:
<schemaFactory class="ManagedIndexSchemaFactory"><bool name="mutable">true</bool><str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>
?(2)在conf文件夾下新建data-config.xml文件,并添加如下配置
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test" user="root" password="password" /> <document name="article"> <entity name="article" pk="id" query="select * from article" deltaImportQuery="select * from article where id ='${dih.delta.id}'" deltaQuery="select id from article where timestamp > '${dih.last_index_time}'"> </entity> </document>
</dataConfig>
說明:user: MySQL用戶名, password:MySQL登錄密碼,test:數據庫名, article:表名。
? (3)在其他地方備份managed-schema,將其改名為schema.xml。添加索引字段配置
<field name="title" type="text_ik" indexed="true" stored="true" multiValued="true" /> <field name="description" type="text_ik" indexed="true" stored="true" /><field name="author" type="text_ik" indexed="true" stored="true" />
? 至此配置完成!
四 啟動solr
? ?core0->Dataimport->full-import->Execute,執行之后點下Refresh Status,右邊就會顯示索引信息。
? ?查詢驗證下:
表中的四條數據全被索引并成功查詢。
?