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 发布,终见天日

如何使用Iveely的数据存储引擎 Iveely Database的更多相关文章

  1. .net之工作流工程展示及代码分享(三)数据存储引擎

    数据存储引擎是本项目里比较有特色的模块. 特色一,使用接口来对应不同的数据库.数据库可以是Oracle.Sqlserver.MogoDB.甚至是XML文件.采用接口进行对应: public inter ...

  2. (转)MySQL 常用数据存储引擎区别

    MySQL 常用数据存储引擎区别 原文:https://laravel-china.org/articles/4198/mysql-common-data-storage-engine mysql有多 ...

  3. 修改MySQL的默认数据存储引擎

    因为MySQL默认的是MyISAM数据引擎,不支持事务也不支持外键,所以需要用到Innodb引擎,于是决定将mysql的默认引擎设置为innodb.1 . 查看MySQL存储引擎是用的哪个?登录MyS ...

  4. mysql数据库 myisam数据存储引擎 表由于索引和数据导致的表损坏 的修复 和检查

    一.mysqlcheck 进行表的检查和修复 1.检查mysqlisam存储引擎表的状态 #mysqlcheck -uuser -ppassword database  table  -c  #检查单 ...

  5. MySQL 的数据存储引擎

    MySQL的存储引擎 InnoDB: MySQL5.5之后的默认存储引擎. 采用MVCC来支持高并发,并且实现了四个标准的隔离级别(默认可重复读). 支持事务,支持外键.支持行锁.非锁定读(默认读取操 ...

  6. mysql 数据存储引擎区别

    一,存储类型 二 , MyISAM默认存储引擎 MyISAM 管理非事务表.是ISAM 的扩展格式.除了提供ISAM里所没有的索引的字段管理等的大量功能.MyISAM 还使用一种表格锁定的机制.来优化 ...

  7. MySQL 常用数据存储引擎区别

    mysql有多种存储引擎,目前常用的是 MyISAM 和 InnoDB 这两个引擎,除了这两个引擎以为还有许多其他引擎,有官方的,也有一些公司自己研发的.这篇文章主要简单概述一下常用常见的 MySQL ...

  8. MySQL之数据存储引擎

    1.什么是存储引擎: 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处 理文本用txt类型,处理表格用excel,处理图片用png等,数据库中的表也应该有不同的 ...

  9. Android数据存储引擎---SQLite数据库

    目标:是否可以在PC端桌面上使用SQLite数据库制作一个财务文件? 目录: 来源: 实践: 总结和比较: SQLite数据简介 是什么,内部结构是怎样的,数据库和表的关系是什么 有什么用 常用的操作 ...

随机推荐

  1. [转][ASP.NET MVC 小牛之路]12 - Section、Partial View 和 Child Action

    本文转自:http://www.cnblogs.com/willick/p/3410855.html 概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在 ...

  2. Web性能优化之动态合并JS/CSS文件并缓存客户端

    来源:微信公众号CodeL 在Web开发过程中,会产生很多的js/css文件,传统的引用外部文件的方式会产生多次的http请求,从而加重服务器负担且网页加载缓慢,如何在一次请求中将多个文件一次加载出来 ...

  3. NOIP2011提高组 聪明的质监员 -SilverN

    题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿产的流程是: 1 .给定m 个区间[L ...

  4. 《TCP/IP详解 卷一》读书笔记-----TCP超时重传

    1.TCP提供的是可靠传输,它通过接收方发送一个确认报文ACK来提供这种可靠性.但是数据报文和确认报文都可能会丢失,所以TCP会给发出的数据报文设置一个时间,如果超时了则进行重传 2.Karn's A ...

  5. 深入理解UIApplication和ios程序启动过程

    在深入理解UIApplication前我们先了解ios程序的启动过程: UIApplication类在ios里面为app的管理和协调提供一个集中的点,每一个app有一个UIApplication的实例 ...

  6. J2EE笔记3

    7. MVC 设计模式. 6. 和属性相关的方法: 1). 方法 void setAttribute(String name, Object o): 设置属性 Object getAttribute( ...

  7. 2014 Super Training #9 C E - Cup 2 --记忆化搜索

    原题:ZOJ 3681 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3681 题意:给一个m,n,m表示m个人,可以把m个 ...

  8. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  9. js学习推荐

    1.汤姆大叔 http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html

  10. android实现点击背景图片不同区域实现不同事件

    有时候我们拿到一张背景图片,客户要求点击图片的不同区域去跳转或者实现不同的操作事件.我们首先要确认图片的点击区域,往往我们会在布局文件那里下手,但是这样不好做适配,所以我实现了以下方法,基本功能可以实 ...