• Lucene如何分布式(WWW与Lucene服务器分离)


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

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

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

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

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

    2 Lucene架构要灵活

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

    image

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

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

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

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

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

  • 相关阅读:
    LAB02:Selenium的安装与使用
    HW03:Exercise Section 2.3
    LAB01:安装 Junit(4.12), Hamcrest(1.3) 以及 Eclemma并完成一次三角形问题的测试
    HW02:根据程序回答问题
    HW01:程序中的错误
    Postman 接口测试
    Python3.7、Eclipse 4.5、 Java 8、 PyDev 5.2.0、 selenium-3.14.0环境搭建
    Java + selenium 实现web自动化简单示例
    java Junit自动化测试框架环境搭建
    java TestNg自动化测试框架环境搭建
  • 原文地址:https://www.cnblogs.com/lori/p/2363277.html
Copyright © 2020-2023  润新知