全文检索(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的新应用,毕竟很多的应用不用处理这么多的文件类型的索引

相关文章
|
20天前
|
移动开发 缓存 前端开发
深入理解前端路由:原理、实现与应用
本书《深入理解前端路由:原理、实现与应用》全面解析了前端路由的核心概念、工作原理及其实现方法,结合实际案例探讨了其在现代Web应用中的广泛应用,适合前端开发者和相关技术人员阅读。
|
25天前
|
自然语言处理 前端开发 JavaScript
深入理解前端中的 “this” 指针:从基础概念到复杂应用
本文全面解析前端开发中“this”指针的运用,从基本概念入手,逐步探讨其在不同场景下的表现与应用技巧,帮助开发者深入理解并灵活掌握“this”的使用。
|
25天前
|
存储 前端开发 JavaScript
前端中对象的深度应用与最佳实践
前端对象应用涉及在网页开发中使用JavaScript等技术创建和操作对象,以实现动态交互效果。通过定义属性和方法,对象可以封装数据和功能,提升代码的组织性和复用性,是现代Web开发的核心技术之一。
|
29天前
|
前端开发
结合具体案例分析Gitflow分支策略在大型前端项目中的应用优势
通过这个具体案例可以看出,Gitflow 分支策略在大型前端项目中能够提供有条不紊的开发环境,保障项目的稳定性和持续发展。
|
29天前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
41 5
|
27天前
|
JavaScript 前端开发 测试技术
构建高效可维护的前端应用
构建高效可维护的前端应用
|
27天前
|
编解码 监控 JavaScript
打造高效前端应用
打造高效前端应用
35 1
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
178 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
49 0
|
2月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
下一篇
DataWorks