Solr2---域的类型和分类以及中文分词

Posted forrestxingyunfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr2---域的类型和分类以及中文分词相关的知识,希望对你有一定的参考价值。

一,域的类型和分类
C:\\solrhome\\collection2\\conf\\schema.xml

二,配置中文分词
1,拷贝IKAnalyzer2012FF_u1.jar到apache-tomcat-7.0.81\\webapps\\solr\\WEB-INF\\lib目录下面

2,拷贝配置文件ext.dic,IKAnalyzer.cfg.xml,stopword.dic到apache-tomcat-7.0.81\\webapps\\solr\\WEB-INF\\classes目录下面(如果没有classes目录需要手动创建)

3,修改solrhome\\collection1\\conf\\schema.xml配置文件:









<fieldType name="text_ik" class="solr.TextField">
      <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> 
      <analyzer type="query" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> 
    </fieldType>
    <field name="title_ik" type="text_ik" indexed="true" stored="true"/>
    <field name="content_ik" type="text_ik" indexed="true" stored="true"/>

4,重启tomcat服务器

三,导入数据库数据
1,将solr-4.10.3\\dist下相关的jar包以及jdbc包拷贝到solrhome\\collection1\\lib目录下面

2:配置solrconfig.mxl文件,添加一个requestHandler。

<requestHandler name="/dataimport" 
class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
     </lst>
</requestHandler> 

3,创建一个data-config.xml,保存到collection1\\conf\\目录下

<?xml version="1.0" encoding="UTF-8" ?>  
<dataConfig>   
    <dataSource type="JdbcDataSource"   
              driver="com.mysql.jdbc.Driver"   
              url="jdbc:mysql://localhost:3306/lucene"   
              user="root"   
              password="root"/>   
    <document>   
        <entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
             <field column="pid" name="id"/> 
             <field column="name" name="product_name"/> 
             <field column="catalog_name" name="product_catalog_name"/> 
             <field column="price" name="product_price"/> 
             <field column="description" name="product_description"/> 
             <field column="picture" name="product_picture"/> 
        </entity>   
    </document>   
</dataConfig>

4,重启tomcat,点击“execute”按钮导入数据
到入数据前会先清空索引库,然后再导入。

四,浏览器操作
4.1. 删除文档
1) 删除制定ID的索引

<delete>
    <id>8</id>
</delete>

2) 删除查询到的索引数据

<delete>
    <query>product_catalog_name:幽默杂货</query>
</delete>

3) 删除所有索引数据

 <delete>
    <query>*:*</query>
</delete>

4.2. 查询索引
通过/select搜索索引,Solr制定一些参数完成不同需求的搜索:

  1. q - 查询字符串,必须的,如果查询所有使用:

  1. fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如::

    过滤查询价格从1到20的记录。
    也可以在“q”查询条件中使用product_price:[1 TO 20],如下:

    也可以使用“*”表示无限,例如:
    20以上:product_price:[20 TO *]
    20以下:product_price:[* TO 20]

  2. sort - 排序,格式:

sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]

示例:

按价格降序




以上是关于Solr2---域的类型和分类以及中文分词的主要内容,如果未能解决你的问题,请参考以下文章

使用 StanfordNLP 分类器进行分词的文本分类器

数据分析之文本挖掘——中文分词

索引维护:添加,删除,修改与维护

Lucene索引维护(添加修改删除)

文本分类的6类方法

达观数据告诉你机器如何理解语言——中文分词技术