zoukankan      html  css  js  c++  java
  • Solr搜索引擎服务器学习笔记

    Solr简介

    • 采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎

    • Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-serviceAPI接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http GSolret操作提出查找请求,并得到XML格式的返回结果

    Solrlucene关系

    • Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时你仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西

    • 首先Solr是基于Lucene做的,Solr的目标是打造一款企业级的搜索引擎系统,因此它更接近于我们认识到的搜索引擎系统,它是一个搜索引擎服务,通过各种API可以让你的应用使用搜索服务,而不需要将搜索逻辑耦合在应用中。而且Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,它也支持主从、热换库等操作。还添加了高亮、facet等搜索引擎常见功能的支持

    Solr的搭建与运行

    • 解压solr-4.6.0.zip到你想到存放的路径,比如:e:/solr

    • cmd打开命令行窗口,进入E:/solr/example目录

    • 执行命令:java -jar start.jar

    • 通过第三步以后,系统会启动solr自带的jetty服务器,通过http://localhost:8983/solr/便可访问solr

    • 此时,solr已成功启动


     

    界面如上所示。

    Solr技术路线图

     


     

    Solr图形化管理界面

    菜单

     

    Core Admin

     

    搜索功能

    当点击搜索区域

     

    会出现如下的列表

     

    增加document

    点击上图的Documents,可以看到

     

    编写一个json格式的对象:


     

    显示:

     

    成功生成了一个document对象

    搜索

     

    打开界面:

     

    执行

     

    Xmlsolr

    Xml文件的导入

    当执行如下的操作的时候

     


    可以把hd.xml文件中的内容创建Document对象,引入到solr中。

    Xml文件的查询

    hd.xml文件的部分内容

     

    查询到的内容:

     

    浏览器的查询

     

     

    Solrj

    Schema

    solr中很重要的一个配置文件

    路径

     



    元素

    Field

     

    说明

        • 为字段

        • Name为字段的名称

        • Type为字段的类型

        • Indexed是否为该字段建立索引

        • Stored是否存储该字段

        • Required是否是必须的

    dynamicField

    <dynamicField name="*_s" type="string" indexed="true" stored="true"/>

    说明:

            • 为动态属性

            • Name=”*_i”*可以代表任何字母

    doc.addField("namessss_s", "赵栋");这个是可以匹配的

    uniqueKey

    <uniqueKey>id</uniqueKey>

    说明

    表示唯一的一个document的标示是id

    Solr与数据库

    Select

    collection1/config/solrconfig.xml文件中,有一个配置

     

    所有的查询是由SearchHandler处理的。

     Update

     

    Dataimport

    当打开solr的管理界面时

     

     

    点击上图的Dataimport,这个时候,浏览器的地址是

     

    会请求一个dataimport的域,但是提示结果为:

     

    说明没有dataimport-handler定义。


    解决方案:

    1、修改solrconfig.xml文件,添加如下的代码:

     

    2、在

    目录下,copy如下的jar包和数据库驱动的jar包,加入到solr工程中

     

    工程的结构为:

     

     

    3、创建data-config.xml文件,放入到config目录下

    <?xml version="1.0" encoding="UTF-8" ?>
    
    <dataConfig>
    
    <dataSource type="JdbcDataSource"
    
    driver="com.mysql.jdbc.Driver"
    
    url="jdbc:mysql://localhost:3306/itheima09_solr"
    
    user="root"
    
    password="root"/>
    
    <document>
    
    <entity name="id" query="select id,name,manu from solr"></entity>
    
    </document>
    
    </dataConfig>
    View Code

    4、重新启动solr服务器

    5、打开浏览器界面,点击dataimport

     

    执行完成以后,数据库的表的数据就被导入到了索引库中。


  • 相关阅读:
    第十六节,基本数据类型,字典dict
    第十五节,基本数据类型,元组tuple
    第十四节,基本数据类型,列表list
    liunx rm 命令修改
    linux 创建用户和密码
    linux 权限
    system
    一个tomcat上部署多个项目,并通过不同端口号访问不同的项目
    Java 清理和垃圾回收
    static 方法
  • 原文地址:https://www.cnblogs.com/biaogejiushibiao/p/10322392.html
Copyright © 2011-2022 走看看