下面我来分享一下我自学solr的笔记,希望能帮助你对solr快速上手。
安装启动
-
环境
Tomcat 7
Java 1.6
solr-4.3.1
-
安装
1.复制 solr/dist/solr-4.3.1.war 到 tomcat/webapps
2.启动tomcat
3.修改solr/WEB-INF/web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:/temp/solr/test1/solr2</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
env-entry-value 指定自己创建的空目录
4.将 \solr\dist 下的jar 复制到 WEB-INF/lib
5.将 \solr\example\solr\collection1 复制到 env-entry-value 目录下
-
启动tomcat
END
导入数据
-
在 collection1\conf\ 创建 dataconfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://127.0.0.1:1433/mydatabase"
user="sa"
password="password"/>
<document>
<entity name="goods_id" query="select id,name,shortName from t_goods">
<field column="id" name="id"/>
<field column="name" name="NAME"/>
<field column="shortName" name="SHORTNAME"/>
</entity>
<entity name="menu_id" query="select id,title,name from t_menus">
<field column="id" name="id"/>
<field column="title" name="title"/>
<field column="name" name="name"/>
</entity>
<entity name="newGoods_id4" query="
select
g.id as id,
g.name as goodsName,
t.name as typeName
from t_Goods2 g
left join t_Types t on t.id=g.typeId
">
<field column="id" name="id"/>
<field column="goodsName" name="goodsName_txt"/>
<field column="typeName" name="typeName_txt"/>
</entity>
</document>
</dataConfig>
-
修改 collection1\conf\solrconfig.xml
增加
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">D:/temp/solr/test1/solr2/collection1/conf/dataconfig.xml</str>
</lst>
</requestHandler>
-
重启tomcat
-
在admin页面的 collection1下面的 Dataimport
选择 对应的 Entity 点 Execute
-
在 Core Admin 中 点 Reload 就可以加载刚才导入的数据
END
查询
-
collection1下面的 Query 界面
【q】
*:* 查询所有
typeName_t:* 根据typeName_t属性来查询
【fq】
id:[100000 TO *] id的范围是 100000到无穷大 TO需要大写
http://jingyan.baidu.com/article/546ae185663ace1148f28c4a.html