• 如何使用Iveely的数据存储引擎 Iveely Database


         Iveely 数据存储引擎是为Iveely 搜索引擎提供数据存储的机制。

         适用于:频繁数据插入、数据读取。数据更改或者删除数据不适合Iveely Database,存储结构是按照搜索引擎数据存储要求(频繁读、频繁写、几乎无删)设计,因此不是所有的数据存储都可以用Iveely Database。

         安装部署

         

         在下载的Iveely database中,只需要启动RunDatabase.bat,Linux下,直接启动Iveely.Database.jar,启动后,打开UI下的index.html即可看到所有当前数据存储中的数据库、表、数量等等信息。

         

         如果UI能够正常显示,则说明数据引擎已经正常启动。

         Iveely Database有两种使用方式,一个是本地应用模式,类似于access等本地数据存储,还有一个是网络远程模式,根据IP和端口号存储数据。两者均需要添加lib:Iveely.Database.jar。

         本地模式

     public void localMode() {
            // 1. Create warehouse.
            Warehouse warehouse = LocalStore.getWarehouse("iveely_test");
    
            // 2. Create table.
            warehouse.createTable("MyTableName");
            warehouse.createColumn("MyTableName", "MyId", Types.INTEGER, true);
            warehouse.createColumn("MyTableName", "MyColumnA", Types.STRING, false);
            warehouse.createColumn("MyTableName", "MyColumnB", Types.DOUBLE, false);
    
            // 3. Insert data.
            int recordId = warehouse.insert("MyTableName", new Object[]{1, "this is for MyColumnA", 0.8});
    
            // 4. Select data.
            Object[] obj = warehouse.selectById("MyTable", recordId);
            System.out.println(obj[1]);
        }

         远程模式

         默认远程访问端口号:4321。代码使用示例如下:

        public void remoteMode() {
    
            // 1. Create connector.
            DbConnector connector = new DbConnector("iveely_text", "127.0.0.1", 4321);
    
            // 2. Create table.
            boolean isTableCreated = connector.createTable("MyTableName",
                    new String[]{"MyId", "MyColumnA", "MyColumnB"},
                    new Types[]{Types.INTEGER, Types.STRING, Types.DOUBLE},
                    new boolean[]{true, false, false});
            if (isTableCreated) {
                
                // 3. Insert data.
                int recordId = connector.insert("MyTableName", new Object[]{1, "this is for MyColumnA", 0.8});
                System.out.println(recordId);
                
                // 4. Select Data.
                Object[] obj = connector.selectOne("MyTableName", recordId);
                System.out.println(obj[1]);
            }
        }

        示例中是单个数据的写入和读取,实际上,也是支持批量写入和批量读取的。

        上面只是简单示例,如果有疑问,请邮件我:liufanping@iveely.com。

        背景参考:开源搜索引擎Iveely 0.8.0 发布,终见天日

  • 相关阅读:
    重定向URL
    【有意思的BUG】分享按钮 分享功能
    【有意思的BUG】浏览器的Title和Icon
    【有意思的BUG】需要停止的进程
    【NO.8】jmeter-场景-上传文件-send-a-file
    nmon-监控测试服务器
    SecureCRT-转换密钥-Xshell-配置服务-使用xshell登录远程linux服务器
    <转>【读fastclick源码有感】彻底解决tap“点透”,提升移动端点击响应速度
    javascript判断鼠标按键和键盘按键的方法
    javascript 中几种实用的跨域方法原理详解(转)
  • 原文地址:https://www.cnblogs.com/liufanping/p/4490042.html
Copyright © 2020-2023  润新知