`
wujiangming
  • 浏览: 14480 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

regain 安装

阅读更多
一、修改增加中文分词模块为 Paoding-analysis

非常简单,只需要修改一个源码文件。

源代码文件(以下都用下划线表示):src\net\sf\regainRegainToolKit.java

import net.paoding.analysis.analyzer.PaodingAnalyzer;
import org.apache.lucene.analysis.cn.ChineseAnalyzer;   

  public static Analyzer createAnalyzer(String analyzerType,
    String[] stopWordList, String[] exclusionList, String[] untokenizedFieldNames)
    throws RegainException

    if (analyzerType.equalsIgnoreCase("english")) {
      analyzerClassName = StandardAnalyzer.class.getName();
    } else if (analyzerType.equalsIgnoreCase("german")) {
      analyzerClassName = GermanAnalyzer.class.getName();
    } else if (analyzerType.equalsIgnoreCase("chinese")){
      analyzerClassName = ChineseAnalyzer.class.getName();//Add by ping.
    }  else if (analyzerType.equalsIgnoreCase("paoding")){
      analyzerClassName = PaodingAnalyzer.class.getName();//Add by ping.
    }

源码修改只涉及以上一个文件,但是要完整编译和最终运成功,还需要其他修改。
主要包括:
1.修改ant的编译配置文件build.xml,
2.拷贝paoding-analysis.jar到lib目录。

build.xml修改如下:
[这里摘录修改的片段,修改增加部分为粗体]
...
  <target name="runtime-desktop" depends="prepare-once, runtime-desktop-fast">
    <echo message="Creating the jars ..." />
    <fileset id="desktop-common-jars" dir="build/included-lib-classes/common">
      <include name="org/apache/lucene/**"/>
      <include name="org/apache/log4j/**"/>
      <include name="org/apache/regexp/**"/>
      <!-- Add by ping. -->
      <include name="net/paoding/analysis/**"/>
      <include name="paoding-*.properties"/>
      <include name="org/apache/commons/**"/>

...
  <target name="runtime-server" depends="prepare-once, runtime-server-fast, -web-temps">
    <jar jarfile="build/runtime/crawler/${programname.file}-crawler.jar"
         compress="false"
         index="true">
      <manifest>
        <attribute name="Main-Class" value="net.sf.regain.crawler.Main"/>
      </manifest>
      <fileset dir="build/included-lib-classes/common">
        <include name="org/apache/lucene/**"/>
        <include name="org/apache/log4j/**"/>
        <include name="org/apache/regexp/**"/>

      <!-- Add by ping. -->
      <include name="net/paoding/analysis/**"/>
      <include name="paoding-*.properties"/>
      <include name="org/apache/commons/**"/>
...

    <mkdir dir="build/runtime/search/webapps"/>
    <war destfile="build/runtime/search/webapps/${programname.file}.war"
         webxml="web/server/web-inf/web.xml">
      <classes dir="build/classes">
        <exclude name="net/sf/regain/crawler/**"/>
        <exclude name="net/sf/regain/ui/desktop/**"/>
        <exclude name="net/sf/regain/util/sharedtag/simple/**"/>
        <exclude name="net/sf/regain/util/ui/**"/>
      </classes>
      <lib dir="lib">
        <include name="lucene-*.jar"/>
        <include name="jakarta-regexp-*.jar"/>
        <include name="log4j-*.jar"/>
        <!--Add by ping.-->
        <include name="paoding-*.jar"/>       
        <include name="commons-logging*.jar"/>       
      </lib>

...
    <mkdir dir="${deploy-target.dir}/${programname.file}/WEB-INF/lib"/>
<copy todir="${deploy-target.dir}/${programname.file}/WEB-INF/lib">
   <fileset dir="lib">
        <include name="lucene-*.jar"/>
        <include name="jakarta-regexp-*.jar"/>
        <include name="log4j-*.jar"/>
        <!--Add by ping.-->
        <include name="paoding-*.jar"/>       
        <include name="commons-logging*.jar"/>      
    </fileset>
</copy>


二、修改查询结果片段长度


1.默认查询结果显示片段为100个字节,
个人认为比较短,可以修改为结果片段长度为300.

lucene\contrib\highlighter\src\java
    org.apache.lucene.search.highlight
        SimpleFragmenter.java

public class SimpleFragmenter implements Fragmenter
{
private static final int DEFAULT_FRAGMENT_SIZE =100*3;
定于查询结果片段的长度。默认为100字节,修改为300字节



三、另外,对查询结果页面进行稍微修改。

1.package net.sf.regain.search.results;
SingleSearchRusults.jsp

     public void highlightHitDocument(int index)
            resHighlSummary = highlighter.getBestFragments(tokenStream, text, 3,
" . . .  . . . <br><span class=\"resultTag\">[Result]</span> ");
定于查询结果显示。

2.web\web\common
    search.jsp

      <search:list msgNoResults="<tr><td colspan='2'>{msg:noResultsFound}<br/><br/></td></tr>">
        <tr><td colspan="2">
            <search:hit_typeicon imgpath="img/ext"/> <search:hit_link/>
            <span class="hitDetails">
              (<search:msg key="relevance"/>: <search:hit_score/>)<br/>
            <span class="resultTag">[Result]</span>
              <search:hit_field field="summary"/><br/>
              <search:hit_content/>
              <search:hit_path after="<br/>" createLinks="true"/>
              <search:hit_field field="mimetype"/>&nbsp;
              <span class="hitInfo"><search:hit_url beautified="true"/> - <search:hit_size/></span><br/>
            <br/></span>
        </td></tr>
      </search:list>    
   
    查询结果显示页面和显示数据域的定义。


3.增加显示样式
src\web\common
    regain.css

.resultTag {
color: #0000FF;
font-weight: bold;
}

4.一点小修饰,获取文章内容的按钮默认是德文,翻译成英文表示。
src/net/sf/regain/search/sharedlib/hit/ContentTag.java
  protected void printEndTag(PageRequest request, PageResponse response,
    Document hit, int hitIndex)
    throws RegainException {

    String content = null;
    content = hit.get("content");
    if (content != null) {
      String hitNumber = Integer.toString(hitIndex + 1);
      response.print("<input type=\"button\" class=\"button\" onclick=\"return toggleMe('hit_" +
        hitNumber + "')\" value=\"Click here Get " + hitNumber + " content\">");




property文件
词典库文件
编码问题


regain增加paoding中文分词以及server端版本设置
原文来自:http://monner.iteye.com/blog/254804
———————————————————————-
补充:
用paoding中文分词,先建立词典
vi /etc/profile
export PAODING_DIC_HOME=/data/paoding/dic
将paoding的dic目录里的内容copy到 /data/paoding/dic
windows设置见手册

另外导入lucene/contrib/memory下的包lucene-memory到regain/lib中.再编译.

server版本中有个问题需要修改.如果出现乱码可尝试将
src/net/sf/regain/search/SearchToolkit.java
修改为下面的
queryString = query.toString().trim();

//add by robin
try {
queryString = new String(queryString.getBytes(”iso-8859-1″),”UTF-8″);
} catch (Exception e) {
}
request.setContextAttribute(SEARCH_QUERY_CONTEXT_ATTR_NAME, queryString);
}


return queryString;
——————————-
regain的服务器版本端配置关键修改点




file:///home/admin/domains/25q.net/

然后在

file:///home/admin/domains/25q.net/

这里两处路径都需要加.否则会导致 index empty的错误

原文部分内容:

一、修改增加中文分词模块为 Paoding-analysis

非常简单,只需要修改一个源码文件。

源代码文件(以下都用下划线表示):src\net\sf\regainRegainToolKit.java

import net.paoding.analysis.analyzer.PaodingAnalyzer;
import org.apache.lucene.analysis.cn.ChineseAnalyzer;

public static Analyzer createAnalyzer(String analyzerType,
String[] stopWordList, String[] exclusionList, String[] untokenizedFieldNames)
throws RegainException

if (analyzerType.equalsIgnoreCase(”english”)) {
analyzerClassName = StandardAnalyzer.class.getName();
} else if (analyzerType.equalsIgnoreCase(”german”)) {
analyzerClassName = GermanAnalyzer.class.getName();
} else if (analyzerType.equalsIgnoreCase(”chinese”)){
analyzerClassName = ChineseAnalyzer.class.getName();//Add by ping.
} else if (analyzerType.equalsIgnoreCase(”paoding”)){
analyzerClassName = PaodingAnalyzer.class.getName();//Add by ping.
}

源码修改只涉及以上一个文件,但是要完整编译和最终运成功,还需要其他修改。
主要包括:
1.修改ant的编译配置文件build.xml,
2.拷贝paoding-analysis.jar到lib目录。

build.xml修改见原文地址
分享到:
评论

相关推荐

    基于lucene的搜索引擎regain安装版

    **基于Lucene的搜索引擎Regain安装指南** Regain是一个基于Apache Lucene的全文搜索引擎,它提供了高级的搜索功能,能够帮助用户快速、准确地在大量数据中查找所需信息。Lucene是Java语言实现的一个开源信息检索库...

    PyPI 官网下载 | regain-0.1.7.tar.gz

    4. 用户可以通过Python的打包工具,如setuptools或pip,来安装和使用regain库。 在实际开发中,了解这些信息对于有效地利用regain库来构建和扩展分布式系统至关重要。同时,对于熟悉ZooKeeper和云原生架构的开发者...

    搜索引擎regain_v1.2.3_server

    在服务器部署方面,regain_v1.2.3_server可能提供了详尽的文档和配置工具,帮助管理员轻松安装、配置和管理服务。这包括设置数据库连接、调整索引参数、配置日志监控等方面。同时,安全性和稳定性也是重点,可能会有...

    regain:在桌面或服务器上运行的搜索引擎,支持各种文件格式

    重新获得您的隐藏信息regain是在桌面或服务器上... 您可以在Web服务器上安装的服务器搜索。 它为网站或Intranet文件服务器提供搜索功能。 regain用Java编写,因此适用于所有Java兼容平台(包括Windows,Linux,Mac OS,

    Python库 | regain-0.2.2.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:regain-0.2.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Regain Power-开源

    文件夹选项、任务管理器、regedit 大多被 windows 中的病毒禁用。该程序可以带回您的文件夹选项、任务管理器、regedit(windows 注册表编辑器)搜索选项、运行选项、显示隐藏文件和文件夹等.. 选项

    重获:REGAIN(规则图形推论)

    恢复考虑到潜在变量的影响,跨多个时间戳的正则化图形推断。...安装安装重新获得收益的最简单方法是使用pip pip install regain 或conda conda install -c fdtomasi regain 如果您想从源代码安装,或者

    Regain:一个基于Jakarta Lucene的Java搜索引擎-开源

    Regain是一个基于Jakarta Lucene的Java搜索引擎。 它提供了索引和搜索文件的多种格式(HTML,XML,doc(x),xls(x),ppt(x),oo,PDF,RTF,mp3,mp4,Java)。 TagLibrary使您可以轻松地将搜索结果集成到基于...

    英文读后感《To Regain the Nature of Goodness》.doc

    《To Regain the Nature of Goodness》是一篇对查尔斯·狄更斯作品《雾都孤儿》(Oliver Twist)的英文读后感。这篇读后感由上海市实验学校高三(1)班的顾竹屹撰写,深入剖析了这部反映18世纪英国社会悲剧的小说。 ...

    regain-开源

    Regain 是一个基于 Jakarta Lucene 的 Java 搜索引擎。 它为多种格式(HTML、XML、doc(x)、xls(x)、ppt(x)、oo、PDF、RTF、mp3、mp4、Java)提供索引和搜索文件。 TagLibrary 简化了在基于 JSP 的网页中集成搜索结果...

    regain:koa2 + mysql + vue3

    node 后端 /back-end 在 /back-end 目录下创建 config 文件夹。 在其下添加 database.js const data = { url:'database-host', //host user:'database-user', //user pwd:'database-pwd', //password ...

    YacineNacer.rar_Alis_diagnostic

    Le diagnostic de défaillances des ... Le regain d’intérêt manifesté par les différents secteurs industriels et par le monde de la recherche, démontre que ce domaine est un créneau très porteur.

    Cracklock 时限破解器

    When installing Cracklock, users... Basically, users who can no longer access a certain shareware software that they have been using for the past 30 days can process it using Cracklock and regain access.

    2020_2021学年高中英语Unit4Makingthenewsgrammar课时作业1新人教版必修520210528267

    - "regain the minerals it had lost"描述了土壤自然恢复的过程,这是农业生产中的生态平衡知识。 4. 词汇搭配: - suffer starvation: 遭受饥饿 - give the harvest of...to: 把...的收成给... - benefit from...

    PRACTICA 2_powerelectronics_

    The stability of power systems refers to the property that allows them to remain in an operating state in equilibrium under normal operating conditions and to regain another state of equilibrium after...

    英文原版-Cisco ISE for BYOD and Secure Unified Access 1st Edition

    Using Cisco Secure Unified Access Architecture and Cisco Identity Services Engine, you can secure and regain control of borderless networks in a Bring Your Own Device (BYOD) world. This book covers ...

    MySQL Admin Cookbook

    * Restrict access sensibly and regain access to your database in case of loss of administrative user credentials * Part of Packt's Cookbook series: Each recipe is a carefully organized sequence of ...

    JLink_Windows_V660d.exe

    DLL (Windows): After a dialog from the DLL was closed, the original window did not regain keyboard focus. Fixed. DLL: Added flash programming support for Toshiba TMPM3HLFDUG, TMPM3HLFYUG, TMPM3HLFZUG...

Global site tag (gtag.js) - Google Analytics