博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lucene如何分布式(WWW与Lucene服务器分离)
阅读量:5859 次
发布时间:2019-06-19

本文共 716 字,大约阅读时间需要 2 分钟。

这两天一直再搞这个东西,呵呵,为了提升WWW服务器整体性能,准备把Lucene系统放在另一台服务器上,当用户进行查询时,先向WWW服务器提出请求,由

WWW服务器组装数据并提交给LuceneWebService服务器,LuceneWebService服务器根据其条件返回相应的数据结果集,最后由WWW将结果返回给客户端。

说的很清楚,看一下要实现这种方式的几个知识点:

1 服务器与服务器之间的通信

可能有人会想到WCF,Remoting,它们确实也可以实现,但今天我还是用WS吧,呵呵,WS是走SOAP的,简单的说就是只能传输简单的数据类型,向List,List<T>,T这种类型是不可以的,所以在进行通信时我们需要先将这些类型转化为byte[]字节数组。

2 Lucene架构要灵活

Lucene项目可能由几个索引生成器组成,它们可以是新闻索引,产品索引,用户索引等等,所以你的Lucene项目架构要足够的灵活,可能是这样:

上面的项目架构事实上把每个索引生成器都分开成子项目了,这样有利于生成索引时按需生成的要求,而生成索引的核心代码被整理到另一个文件夹项目里,它们由一个通用项目和若干的具体功能项目组成,这样做的好处是引用方便,呵呵。

3 每个层的具体功能和作用(什么层干什么事,自己干自己的,职责单一)

WWW层,主要用于收集从客户端请求过来的参数,如查询关键字,页号,及最终页地址等。(为读索引组装参数)

LuceneWebService层,主要用来获取具体索引及进行复杂对象向简单对象的转化等等。(读索引)

Lucene层,主要用来建立索引,它可能有若干个应用程序组成,每个应用程序负责自己业务索引文件的生成(写索引)

转载地址:http://imejx.baihongyu.com/

你可能感兴趣的文章
高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-2 发布
查看>>
ZOJ 3316 Game 一般图最大匹配带花树
查看>>
《系统架构师》——操作系统和硬件基础
查看>>
如何看待一本图书
查看>>
angularjs1-7,供应商
查看>>
oracle参数列表
查看>>
Wordpress3.2去除url中的category(不用插件实现)
查看>>
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine-Excel2003
查看>>
macOS Sierra 代码显示未来 Mac 将搭载 ARM 芯片
查看>>
《Arduino家居安全系统构建实战》——1.3 部署安全系统的先决条件
查看>>
Linux 中如何通过命令行访问 Dropbox
查看>>
《jQuery移动开发》—— 1.3 小结
查看>>
使用 Flutter 反序列化 JSON 的一些选项
查看>>
开发进度——4
查看>>
etymology-F
查看>>
Mycat安装以及使用测试
查看>>
JS里验证信息
查看>>
Akka actor tell, ask 函数的实现
查看>>
windows10 chrome 调试 ios safari 方法
查看>>
Hello , Ruby!
查看>>