zoukankan      html  css  js  c++  java
  • 两三年前的搜索管理系统

    接触搜索引擎、lucene已经3年了,当时什么都不懂,幻想着可以为lucene做一套管理系统,适用于中低端垂直搜索,可以快速搭建检索服务,甚至认为可以做成一个产品。

    但是,有市场吗?用户群体是什么?接着认识了solr,发现和它的思想如出一辙。

    为了不忘却那段苦逼的岁月,于是......

    SWT已经淡忘了......

    实例管理,类似数据库的实例,每个实例可以包含多个索引(core)。

    每个实例可以动态配置。

    这里主要对字段进行配置,类似solr的schema.xml。包括字段名称、存储方式、分词方式、索引方式。

    这里相当于是一个查看配置的功能。

    支持数据的导入,当时只实现了sqlserver数据库的导入。确定好数据条件即可。

    当然少不了数据库表和索引字段的对应关系。

    实例管理其实主要是配置管理。具体的数据操作如下。

    可以直接给指定core导入数据、合并数据、优化索引等。合并索引支持将两个索引(core)进行合并,这主要是当时的一种数据增量更新方式。当然还提供自动的更新方式。

    点击某个core,可以查看具体信息。

    索引管理没有全部完成,主要和luke类似。

    当时,由于数据更新的需求是:周期性更新数据,一周一次。因此我们提供两份索引a、b,一份提供检索服务,一份做备份。例如当a提供检索服务时,b就是备份索引。当更新时,先做一个增量索引c,让b和c合并,完成后让他提供检索服务,切换a为备份索引,并完成a和c的合并。以后依次类推。

    这个控制比较粗糙,仅能完成特定的需求,如果更新的实时性要求比较高就不能这么做了!

    无聊回忆下以前的东西,感慨啊!正在自己寂寞、苦逼的做着搜索的朋友们能理解这种心情吗?

  • 相关阅读:
    springmvc两种非注解的处理器适配器
    springmvc两种非注解的处理器映射器
    java线程数据交换Exchanger
    java计数器CountDownLatch
    java路障CyclicBarrier
    java线程condition
    java模拟数据库缓存
    java中的递归
    面向对象
    全概率公式和贝叶斯准则
  • 原文地址:https://www.cnblogs.com/huangfox/p/2630643.html
Copyright © 2011-2022 走看看