SOLR的学习整理
Apache Solr
项目地址 http://lucene.apache.org/solr/,一个基于lucene的开源搜索项目,可以基于文本,数据库等分词建立索引,提供查询的API接口。
SOLR项目下载下来大概30多M,默认采用JETTY作为APPSERVER,和TOMCAT类似的一个开源中间件软件。
项目里面主要使用solr+oracle来实现全文搜索的查询,同样,也支持其他的关系型数据库。下面是基于ORACLE表格为数据源的配置。
首先确认jetty的端口配置,有时候需要更改,可能端口已经被占用了。
<Call name="addConnector"> <Arg> <New class="org.mortbay.jetty.bio.SocketConnector"> <Set name="port"><SystemProperty name="jetty.port" default="8989"/></Set> <Set name="maxIdleTime">50000</Set> <Set name="lowResourceMaxIdleTime">1500</Set> </New> </Arg> </Call>
假如启动时报端口已经被占用的错误,那么需要更改成其他的端口。
2配置data-config.xml文件,假如不存在,那么新建一个,放在目录solr/conf/data-config.xml下面。配置详情
<dataConfig> <dataSource driver="ENC(Ji+0Hu8V13iC0zBLfzu4bPZHjtDMpETcttc1ysa0y1maWD4rbpzXdQ\=\=)" url="ENC(cAJkOTDUZcW2epqSuFcQHiVT0PnXaJo2/2E1rUbMMQMgb47SByMPS5mutQYpZmrSvES8DmRs2mk\=)" user="ENC(K0EBhh8/VE0Hot+9ktQZOw\=\=)" password="ENC(z9let1hb06zgus/7PhReHg\=\=)" batchSize="100" /> <document name="capaa_search"> <entity name="audit" pk="id" query = "select solr_sequence.nextval as id ,lg_id ,SESSION# ,to_char(timestamp,'yyyy-mm-dd"T"HH24:MI:SS"Z"') as timestamp ,SCN ,XID ,SCHEMA_OBJECT ,OBJECT_TYPE ,COMMAND_TYPE ,SQLTEXT ,ACTIONNAME ,AUDITLEVEL ,RETURNCODE ,ERRMSG ,RESOLVED ,REMARK ,RECNUMS ,INST_ID ,BIND_DATA ,END_IP ,END_SESSION_INFO ,RULE_NAME ,lg_audseq ,USERID ,UTYPE_ID ,USERTYPE ,DBUSER ,OSUSER ,APPUSER ,REALUSER ,IP_ADDRESS ,MAC_ADDRESS ,MACHINE ,APP_NAME ,APP_GNAME ,to_char(lg_timestamp,'yyyy-mm-dd"T"HH24:MI:SS"Z"') as lg_timestamp ,to_char(LOGOFF_TIME,'yyyy-mm-dd"T"HH24:MI:SS"Z"') as logoff_time ,LOGOFF_LREAD ,LOGOFF_PREAD ,LOGOFF_PWRITE ,SESSION_CPU ,SID ,SERIAL# ,SESSIONID ,CLIENT_ID ,CLIENT_INFO ,OS_PROCESS ,AUDIT_CLASS_ID ,AUDIT_CLASS ,AUDIT_LEVEL ,RETURN_CODE ,lg_errmsg ,DBID ,DBNAME ,lg_resolved ,lg_remark ,lg_recnums ,lg_inst_id ,EUSER_NAME ,EGROUP_NAME ,EAREA_NAME ,ELEVEL_NAME ,lg_rule_name from mc$asset_v_audit where ('${dataimporter.request.clean}' != 'false' OR last_modified >= (to_date('${dataimporter.last_index_time}','YYYY-MM-DD HH24:MI:SS')))"> <field column="TIMESTAMP" name="timestamp" xpath="/RDF/item/date" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'"/> <field column="LG_TIMESTAMP" name="lg_timestamp" xpath="/RDF/item/date" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'"/> <field column="LOGOFF_TIME" name="logoff_time" xpath="/RDF/item/date" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'"/> </entity> </document> </dataConfig>
这里主要是配置管理库的数据源,以及相关的SQL语句。
3 配置solrconfig.xml 文件
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
主要作用是载入上面的配置文件,有点类似web.xml的作用
4在浏览器中输入http://ip:port/solr/dataimport?command=full-import&clean=true 地址,回车,开始建立索引
5在导入过程中可以在浏览器中输入http://ip:port/solr/dataimport 来查看导入状态。
6在浏览器中输入http://ip:port/solr/admin可以进入 solr的管理页面。
相关推荐
spylyt 2020-09-11
upxiaofeng 2020-06-11
TyCoding 2020-05-03
upxiaofeng 2020-04-30
lionelf 2020-04-20
TyCoding 2020-04-08
TyCoding 2020-03-26
wenchanter 2020-03-26
roygbip 2020-02-16
wsxsxz 2020-02-03
lionelf 2020-02-03
lionelf 2020-02-03
TyCoding 2020-02-01
heniancheng 2020-01-31
lionelf 2020-01-30
TyCoding 2020-01-10