`

solr 4.9 学习

阅读更多
1.下载solr 4.9.0 下载地址:http://archive.apache.org/dist/lucene/solr/4.9.0/solr-4.9.0.zip。
2.解压solr-4.9.0.zip,把solr-4.9.0\dist 目录中的solr-4.9.0.war 解压放到tomcat7的webapps 目录中,修改名称为solr.




3.在f盘建立下面目录,F:\test\solrdemo,然后把E:\solr-4_9_0\example目录中的solr 复制到
F:\test\solrdemo 目录。




4. 打开solrconfig.xml 注释掉下面的内容

<!--
  <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
-->
然后将contrib/extraction/lib,/contrib/clustering/lib,dist/,contrib/langid/lib/,dist/,contrib/velocity/lib中的jar 包复制到
webapps\solr\WEB-INF\lib 目录中。

修改存储路径:  <dataDir>${solr.data.dir:}</dataDir>
为:
  <dataDir>${solr.data.dir:F:/test/solrdemo/solr/data}</dataDir>




启动tomcat ,访问http://localhost:8080/solr




5.把example\resources中的log4j.properties 复制到solr-tomcat-7.0.67\webapps\solr\WEB-INF\classes 文件夹(class如果没有自己建立一下)
二,添加分词功能:
解压:IK_Analyzer_2012FF_hf1.zip 把IKAnalyzer.cfg.xml,stopword.dic 复制到\webapps\solr\WEB-INF\classes 目录, IKAnalyzer2012FF_u1.jar 复制到solr-tomcat-7.0.67\webapps\solr\WEB-INF\lib目录。

在F:\test\solrdemo\solr\collection1\conf中 schema.xml 添加IKAnalyzer配置:
<!-- 引入 IKAnalyzer -->
  <fieldType name="text_ik" class="solr.TextField"> 
  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  </fieldType> 


  <!--IKAnalyzer Field  -->
  <field name="title_ik" type="text_ik" indexed="true" stored="true" />
  <field name="content_ik" type="text_ik" indexed="true" stored="false" multiValued="true"/>




重启tomcat, 在anaysis 中测试分词 ,filedtype:title_ik

测试结果:



三,dataimport 关系型数据库数据导入solr索引库
在F:\test\solrdemo\solr\collection1\conf 目录新建data-config.xml 文件内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig> 
<dataSource type="JdbcDataSource" 
driver="oracle.jdbc.OracleDriver"    
url="jdbc:oracle:thin:@192.168.6.2:1521:YUN"
user="yunboceceshi"   
password="yun"/>
<document name="product_tt"> 
<entity name="product" pk="id"
  query="select product_id,product_name,unit_price,unit from product" 
  deltaQuery="select product_id,product_name,unit_price,unit from product"
  deltaImportQuery="select product_id,product_name,unit_price,unit from product"
  logLevel="debug"
  > 
<field column="PRODUCT_ID" name="id"/> 
<field column="PRODUCT_NAME" name="product_names"/>
<field column="UNIT_PRICE" name="product_price"/>
<field column="UNIT" name="product_description"/> 

</entity>
</document>
</dataConfig>

注意:column 的值一定要大写,否则导数据不成功

在F:\test\solrdemo\solr\collection1\conf 中的solrconfig.xml 中添加:
  <requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst> 
</requestHandler>


在F:\test\solrdemo\solr\collection1\conf 中的schema.xml 中添加:

<field name="product_names" type="text_ik" indexed="true" stored="true"/>
<field name="product_price"  type="float" indexed="true" stored="true"/>
<field name="product_description" type="text_ik" indexed="true" stored="true" />

<field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/> 
<copyField source="product_names" dest="product_keywords"/>
<copyField source="product_description" dest="product_keywords"/>


重启tomcat ,选择dataimport 菜单测试。





四,使用java 代码访问solr

package com.boce;

import java.io.IOException;

import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;

public class SolrOk {

private String url = "http://localhost:8080/solr";


// 创建索引
public void testCreateIndex() throws SolrServerException, IOException {
String urlString = "http://localhost:8080/solr";

SolrServer solrServer = new HttpSolrServer(urlString);
for (int i = 0; i < 5; i++) {
SolrInputDocument document = new SolrInputDocument();
document.addField("id", "c0001");
document.addField("product_names", "竞买"+i);
// 商品名称
document.addField("product_price", 86.5f);
// 商品价格
// document.addField("product_picture", "382782828.jpg");
// 商品图片
document.addField("product_description",
"这是竞买信息的描述,内容渤海商品交易所信息内容");
//商品描述
// document.addField("product_catalog_name", "javabook");
// 商品分类
UpdateResponse response = solrServer.add(document);


}
// 提交
solrServer.commit();
}



public void deletebyId(){
String id="vg106422";
SolrServer solrServer =  new HttpSolrServer(url);
try {
UpdateResponse response = solrServer.deleteById(id);

solrServer.commit();

} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}



}



public void testSearch() throws SolrServerException {
String urlString = "http://localhost:8080/solr";
SolrServer solr = new HttpSolrServer(urlString);
// 查询对象
SolrQuery query = new SolrQuery();
// 设置查询条件,名称“q”是固定的且必须 的
// 搜索product_keywords域,product_keywords是复制域包括product_name和product_description
query.set("q", "product_names:竞买");
query.setStart(10);
query.setRows(50);


// 请求查询
QueryResponse response = solr.query(query);
// 查询结果
SolrDocumentList docs = response.getResults(); // 查询文档总数
System.out.println("查询文档总数" + docs.getNumFound());
for (SolrDocument doc : docs) {
// 商品主键
String id = (String) doc.getFieldValue("id");
// 商品名称
String product_name = (String) doc.getFieldValue("product_names");
// 商品价格
Float product_price = (Float) doc.getFieldValue("product_price");

// 商品价格
String desc = (String) doc.getFieldValue("product_description");

System.out.println(product_name + "--" + product_price+"---"+desc);
}
}

// 商品图片 String product_picture = (String)
// doc.getFieldValue("product_picture"); //商品分类 String product_catalog_name
// = (String) doc.getFieldValue("product_catalog_name");
// System.out.println("=============================");
// System.out.println(id); System.out.println(product_name);
// System.out.println(product_price); System.out.println(product_picture);
// System.out.println(product_catalog_name); }

public static void main(String[] args) {
SolrOk ok = new SolrOk();
try {


ok.testCreateIndex();

//ok.testSearch();


//ok.deletebyId();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

  • 大小: 21.1 KB
  • 大小: 19.7 KB
  • 大小: 65.9 KB
  • 大小: 44 KB
  • 大小: 31.1 KB
分享到:
评论

相关推荐

    solr4.9安装使用手册

    在这个版本中,安装和配置过程可能会有所不同,因此在学习Solr时,确保查阅对应版本的文档是非常重要的。 Apache Solr 的官方网站(http://wiki.apache.org/solr/)提供最全面和最新的文档,虽然这些文档通常是英文...

    Solr参考书籍

    例如,提供的`apache-solr-ref-guide-4.9.pdf`应该是针对Solr 4.9版本的。这本指南详尽地列出了Solr的所有API、配置选项和操作指南,是开发者进行问题排查和功能实现的重要参考资料。虽然可能不如前面两本书通俗易懂...

    thymeleaf_3.0.5_中文参考手册

    通过这个项目,我们可以学习到如何将 Thymeleaf 集成到 Web 应用程序中,以及如何利用它的功能来增强页面的表现力。 **2.2 创建和配置模板引擎** - **2.2.1 模板解析器**: 模板解析器负责将物理模板文件与应用程序...

    支持pyramid2.x的kotti web代码

    Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty

    cmd-bat-批处理-脚本-hello world.zip

    cmd-bat-批处理-脚本-hello world.zip

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。

    基于Matlab实现图像形状纹理颜色特征提取

    在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。

    实证数据-2010-2023年上市公司-管理层情感语调数据-社科经管.rar

    该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。

    cmd-bat-批处理-脚本-FTIME.zip

    cmd-bat-批处理-脚本-FTIME.zip

    1747829038637.png

    1747829038637.png

    2025年自动化X光检查机项目大数据研究报告.docx

    2025年自动化X光检查机项目大数据研究报告.docx

    基于Logisim的原码与补码一位乘法器设计

    在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    二十四节气之立秋介绍.pptx

    二十四节气之立秋介绍.pptx

    cmd-bat-批处理-脚本-shift.zip

    cmd-bat-批处理-脚本-shift.zip

    二十四节气之小雪介绍.pptx

    二十四节气之小雪介绍.pptx

    java、SpringBoot面试专题,6页面试题

    java、SpringBoot面试专题,6页面试题

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    二十四节气之大暑节气.pptx

    二十四节气之大暑节气.pptx

Global site tag (gtag.js) - Google Analytics