热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

以mysql为数据源的Solr配置

主要记录一下以mysql数据库为数据源的Solr平台的搭建过程,既为需要的同志提供点参考,也以防以后自己会需要。平台为Centos6.5,需建立好Java环境,Solr为目前最新的5.4

主要记录一下以mysql数据库为数据源的Solr平台的搭建过程,既为需要的同志提供点参考,也以防以后自己会需要。平台为Centos 6.5,需建立好Java环境,Solr为目前最新的5.4.0。

首先,从Solr官网下载文件,并解压到安装目录。实际上此时已经可以启动和进行访问了,具体过程如下:cd到安装目录,用命令 bin/solr start 启动服务器,然后在浏览器输入地址:localhost:8983/solr 就可以进行访问了,如果是远程访问则把localhost改成相应的ip地址即可。

下面介绍如何建立自己的Core:

首先,在安装目录下的server/solr/目录建立一个文件夹,文件夹名字与建立的core名字相同,比如我是对YahooAnswers的数据进行处理,core和文件夹都命名为YahooAnswers。YahooAnswers目录下建立两个文件夹,分别为conf和data,其中conf文件夹主要放配置文件,data文件夹放置生成的索引数据和log文件等。

conf文件夹下面主要由三个文件,分别为data-config.xml、schema.xml和solrconfig.xml,还有一些其他需要用到的文件,如stopwords.txt等。这三个文件都可以从其他地方拷贝过来再进行修改。以下给出我的配置文件。

第一个是solrconfig.xml:



  4.9
  
  ${solr.core0.data.dir:}
  
  
    
      ${solr.core0.data.dir:}
    
  
  
    
      true
    
    
   
  
    
  
  
  
  
  
  
    
      solrpingquery
    
    
      all
    
  
	  
		  
		  data-config.xml  
		  
	  
   
  
    solr
  

这个文件好像一般不需要怎么修改,不过需要指定一个使用的jar包的目录,如这里的是,一般指定为dist目录,其中有导入数据所需要的DataImportHandler的包等。不同版本的目录结构可能不太一样,需要根据实际情况进行设置。

第二个是data-config.xml:


    
    
        
			  
        
    
其中,url里的localhost可以改为远程的ip地址,yahoo!answer为mysql数据库的名字,user和password需要改成相应的用户名和密码,query为mysql查询语句,里面的字段会自动对应到field的相应字段,不过好像solr必须要有一个id字段,这里把uri字段匹配到id字段。

第三个是schema.xml,这个主要是对索引的方式进行配置:




    
    
    
    
      
        
        
        
        
      
      
        
        
        
        
      
    
	
    
      
        
        
        

        
        
        
        
      
      
        
        

        
        
        
        
      
	 
		  1.2
		  0.75
	
    
    
    
    
    
    
    
    

     
     id

     
     answer_item

     
     
其中fieldType字段对field类型进行定义,里面可以自定义各个field类型的过滤方式,检索时候的相似性计算方法等,如果需要使用可以参考example中的例子。这里主要修改的是field字段,field字段对应于data-config.xml里的数据,对每个数据进行参数设置,type为上面fieldType中定义的类型,indexed设置是否进行索引,其他类似。其中_version_字段是用来记录系统信息的,不能缺少,最好也不要进行修改。uniqueKey类似于Mysql的主键,指定一个唯一的字段,一般为id字段。defaultSearchField为默认搜索字段,当在solr搜索时不指定,则搜索的为这个这个字段。

另外,因为需要对mysql进行操作,要下载jdbc的jar包,我下载的是mysq-connector-java5.1.35-bin.jar,放到安装目录的server/solr-webapp/webapp/WEB-INF/lib/文件夹下。

至此,solr的配置基本就完成了,用bin/solr restart命令对solr进行重启,然后就可以在浏览器中进行访问了,如上文所述,地址为localhost:8983/solr。下面通过浏览器面板进行数据导入。

点击solr admin,然后点击中间的Add Core,输入core的相关信息,其中name和instanceDir都与之前建立的文件夹名字相同,其他的不用修改。点击Add Core,一个新的core就建立好了。

在左边的core selector里选择刚刚新建的core,点击下面的DataImport选项,然后在entity里选择data-config.xml里定义的entity,其他的不需要修改。点击Execute执行,如果数据比较多,可能需要的时间会稍长,右边可以查看当前状态。可以勾选下面的Auto-Refresh Status自动更新状态,也可以点Refresh手动查看。等待执行过程完成,索引就建好了。

最后,点击左边的Query选项就可以进行检索了。其中“q”下面的框为查询语句输入框,如我想查询subject字段包含“what”的数据,在查询框输入“subject:what",然后点击下面的Execute Query执行搜索,右边就会显示查询结果。





推荐阅读
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 资源管理器的基础架构包括三个核心组件:1)资源池,用于将CPU和内存等资源分配给不同的容器;2)负载组,负责承载任务并将其分配到相应的资源池;3)分类函数,用于将不同的会话映射到合适的负载组。该系统提供了两种主要的资源管理策略。 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 如何使用 `org.apache.tomcat.websocket.server.WsServerContainer.findMapping()` 方法及其代码示例解析 ... [详细]
  • Spring框架中枚举参数的正确使用方法与技巧
    本文详细阐述了在Spring Boot框架中正确使用枚举参数的方法与技巧,旨在帮助开发者更高效地掌握和应用枚举类型的数据传递,适合对Spring Boot感兴趣的读者深入学习。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
author-avatar
杰仔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有