全文检索(SOLR)前端应用浅析续 LWE-CORE分析

简介: 上一篇对Lucid的应用简要进行了介绍,现在对LWE-CORE分析一下 lucidworks enterprise可以免费使用,但不开源,了解一下这个的结构对于基于SOLR的应用有很大的帮助,lucidworks enterprise基于SOLR的应用叫LWE-CORE 上一篇 全文检索(SOLR)前端应用浅析 http://www.

上一篇对Lucid的应用简要进行了介绍,现在对LWE-CORE分析一下

lucidworks enterprise可以免费使用,但不开源,了解一下这个的结构对于基于SOLR的应用有很大的帮助,lucidworks enterprise基于SOLR的应用叫LWE-CORE

上一篇 全文检索(SOLR)前端应用浅析 http://www.cnblogs.com/2018/archive/2011/07/29/2121519.html

启动、停止

start.bat中的

start "LucidWorks LWE-Core" /B "%JVM%" %JAVA_OPTS% %APP_OPTS% %JAVA_MEMORY_OPTS% %JETTY_OPTS% %MISC_OPTS% %MISC_OPTS2% -Djetty.home=jetty -jar jetty/start.jar 1>>

./logs/core-stdout.log 2>>./logs/core-stderr.log

这个是使用Jetty启动Web程序,默认在8888端口提供SOLR的服务,这个服务上提供:

Ø 基于SOLR规范本身的接口:如http://127.0.0.1:8888/solr/collection1/select/?q=NickChase, 这个接口在SOLR的文档有详细定义,在Lucid中Lucid query parser替换了原有的SOLR解析以体现更好的效果和应用

Ø SOLR的WEB界面: http://localhost:8888/solr/

Lucid封装增强的系列REST 服务API:如http://localhost:8888/api/collections/collection1/datasources , REST API最重要的作用是控制和监视数据源和索引

停止程序就是关闭Jetty

SOLR WEB程序分析

在安装目录的lwe-core下:

lwe-core\doc:是Lucid的文档内容

lwe-core\solr:是SOLR自带的JSP程序,可以在Web界面使用

lwe-core\WEB-INF\: 网站需要的基础文件,其中lib\lucidworks-1.8-1127.jar 实现了扩展,包括RestAPI

        web.xml中通过com.lucid.servlet.LWEServletModule实现了REST[google-guice:Google公司的Bob lee开发的轻量级IoC容器]

具体关联的SOLR索引设置和数据

solr\cores\collection** 是对应的不同数据的索引和设置区

conf: solrconfig.xml schema.xml fieldtypes.xml等是SOLR使用的配置文件,具体的语法和SOLR的一致

data: 具体的数据源的索引区域

 

lwe-core\WEB-INF\lib下其他主要的关联文件:

元数据抽取

aperture-core aperture-tools-demork

http://aperture.sourceforge.net/ Aperture is a Java framework for extracting and querying full-text content and metadata from various information systems (e.g. file systems, web sites, mail boxes) and the file formats (e.g. documents, images) occurring in these systems.

多种数据格式文字获取tika

Tika是一个内容抽取的工具集合(a toolkit for text extracting)。它集成了POI, Pdfbox 并且为文本抽取工作提供了一个统一的界面。

PDF - 通过Pdfbox

MS-* - 通过POI

HTML - 使用nekohtml将不规范的html整理成为xhtml

OpenOffice 格式 - Tika提供

Archive - zip, tar, gzip, bzip等

RTF - Tika提供

Java class - Class解析由ASM完成

Image - 只支持图像的元数据抽取

XML

涉及不同格式的处理包:

pdfbox-1.1.0 fontbox-1.1.0

poi-3.7-20100617171931

poi-ooxml-3.7-20100617171931 poi-ooxml-schemas-3.7-20100617171931 poi-scratchpad-3.7-20100617171931

htmlparser-1.6.bundle.jar

metadata-extractor-2.4.0-beta1.bundle

判断文本文件编码的有用工具

juniversalchardet

quartz-1.8.4

Quartz 是个开放源码项目,提供了丰富的作业调度集。

查看数据索引情况Luke

Luke\ luke.bat

对于已经索引的数据,可以使用这个工具查看索引的情况,包括各种信息,也是开源工具

总结

有了以上的信息,我们实现一个类似的方案如下:

1、 直接使用LWE-CORE,这样在这个服务上实现定制界面就是一个定制化的系统;或者直接使用这个方案,这样界面和服务都有[当然需要遵守这个软件的范围约束]

2、 参考上面的方法实现一个基于SOLR的新应用,毕竟很多的应用不用处理这么多的文件类型的索引

相关文章
|
6天前
|
JavaScript 前端开发 API
详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务
该文章详细讲解了队列数据结构在前端开发中的应用,并深入探讨了JavaScript的事件循环机制,区分了宏任务和微任务的执行顺序及其对前端性能的影响。
|
6天前
|
前端开发 算法 JavaScript
最小堆最大堆了解吗?一文了解堆在前端中的应用
该文章详细解释了堆数据结构(特别是最小堆)的概念与性质,并提供了使用JavaScript实现最小堆的具体代码示例,包括堆的插入、删除等操作方法。
最小堆最大堆了解吗?一文了解堆在前端中的应用
|
6天前
|
存储 前端开发 算法
太平洋大西洋水流问题如何解决?一文了解图在前端中的应用
该文章深入探讨了图数据结构的基本概念及其在前端领域的多种应用,包括图的不同表示方法(邻接矩阵与邻接表)和经典的图算法(如深度优先搜索与广度优先搜索),并通过具体实例讲解了如何使用JavaScript来解决图相关的编程问题,如太平洋大西洋水流问题。
太平洋大西洋水流问题如何解决?一文了解图在前端中的应用
|
6天前
|
JSON 前端开发 JavaScript
一文了解树在前端中的应用,掌握数据结构中树的生命线
该文章详细介绍了树这一数据结构在前端开发中的应用,包括树的基本概念、遍历方法(如深度优先遍历、广度优先遍历)以及二叉树的先序、中序、后序遍历,并通过实例代码展示了如何在JavaScript中实现这些遍历算法。此外,文章还探讨了树结构在处理JSON数据时的应用场景。
一文了解树在前端中的应用,掌握数据结构中树的生命线
|
6天前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
6天前
|
算法 前端开发 机器人
一文了解分而治之和动态规则算法在前端中的应用
该文章详细介绍了分而治之策略和动态规划算法在前端开发中的应用,并通过具体的例子和LeetCode题目解析来说明这两种算法的特点及使用场景。
一文了解分而治之和动态规则算法在前端中的应用
|
6天前
|
算法 前端开发
一文了解贪心算法和回溯算法在前端中的应用
该文章深入讲解了贪心算法与回溯算法的原理及其在前端开发中的具体应用,并通过分析LeetCode题目来展示这两种算法的解题思路与实现方法。
|
20天前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
2月前
|
存储 前端开发 JavaScript
前端语言串讲 | 青训营笔记
前端语言串讲 | 青训营笔记
29 0
|
4月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
74 2
下一篇
无影云桌面