`

backup-idx

 
阅读更多

public abstract class GenericServiceImpl<T> implements GenericService<T>

{

private final static GyLogger logger = GyLogger.getLogger(GenericServiceImpl.class);

 

@Autowired

SolrServerService solrServerService;

 

String coreName = null;

 

public GenericServiceImpl() {

initCoreName();

}

 

/**

* It used to obtain current core name

*/

protected abstract void initCoreName();

 

/**

* @param coreName

*/

protected void setCoreName(String coreName) {

this.coreName = coreName;

}

 

@Override

public void add(T obj) 

{

try

{

solrServerService.add(coreName, obj);

logger.info("Success to add index ["+obj.toString()+ "] for core "+coreName);

} catch (Exception e) 

{

logger.error("Fail to add index ["+obj.toString()+ "] for core "+coreName+" due to:"+e.toString());

}

 

}

 

@Override

public void delete(String id)

{

try 

{

solrServerService.delete(coreName, id);

logger.info("Success to delete index ["+id+ "] for core "+coreName);

catch (Exception e)

{

logger.error("Fail to delete index ["+id+ "] for core "+coreName+" due to:"+e.toString());

}

}

 

@Override

public void batchAdd(List<T> list) 

{

try 

{

solrServerService.batchAdd(coreName, list);

logger.info("Success to batchAdd index ["+list.size()+ "] for core "+coreName);

catch (Exception e) 

{

logger.error("Fail to batchAdd ["+list.size()+ "] index  for core "+coreName+" due to:"+e.toString());

}

 

}

 

@Override

public void batchDelete(List<String> idList) 

{

try 

{

solrServerService.batchDelete(coreName, idList);

logger.info("Success to batchDelete ["+idList.size()+ "] index  for core "+coreName);

catch (Exception e)

{

logger.error("Fail to batchDelete ["+idList.size()+ "]  index for core "+coreName+" due to:"+e.toString());

}

}

 

@Override

public void batchUpdate(List<IndexUpdate> updateModels)

{

if(updateModels == null || updateModels.isEmpty())

{

return ;

}

 

List<SolrInputDocument> solrDocs = new ArrayList<SolrInputDocument>();

for(IndexUpdate model: updateModels)

{

SolrInputDocument solrDoc = new SolrInputDocument();

for(Label field:model.getFields())

{

Map<String, Object> map = new HashMap<String, Object>();

map.put(model.getMode().getValue(), field.getValue());

solrDoc.addField(field.getKey(), map);

}

solrDoc.addField("id", model.getId());

solrDocs.add(solrDoc);

}

 

try 

{

solrServerService.updateValues(coreName, solrDocs);

logger.info("Success to batchUpdate ["+solrDocs.size()+ "] index  for core "+coreName);

catch (Exception e)

{

logger.error("Fail to batchUpdate ["+solrDocs.size()+ "]  index for core "+coreName+" due to:"+e.toString());

}

}

 

@Override

public void update(IndexUpdate updateModel) 

{

if(updateModel == null)

{

return ;

}

 

SolrInputDocument solrDoc = new SolrInputDocument();

for(Label field:updateModel.getFields())

{

Map<String, Object> map = new HashMap<String, Object>();

map.put(updateModel.getMode().getValue(), field.getValue());

solrDoc.addField(field.getKey(), map);

}

solrDoc.addField("id", updateModel.getId());

 

List<SolrInputDocument> solrDocs = new ArrayList<SolrInputDocument>();

solrDocs.add(solrDoc);

 

try 

{

solrServerService.updateValues(coreName, solrDocs);

logger.info("Success to update ["+solrDoc.toString()+ "] index  for core "+coreName);

catch (Exception e)

{

logger.error("Fail to update ["+solrDoc.toString()+ "]  index for core "+coreName+" due to:"+e.toString());

}

}

 

}

分享到:
评论

相关推荐

    精髓Oralcle讲课笔记

    -- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unlock; ... --(默认全局数据库名orcl) 1、select ename, sal * 12 from ...

    常用SQL语句

    BACKUP DATABASE database-name TO backup-device; ``` - **示例**: ```sql USE master; EXEC sp_addumpdevice 'disk', 'testBackup', 'c:\mssql7backup\MyNwind_1.dat'; BACKUP DATABASE pubs TO testBackup...

    mysql常用命令大全-最完整版

    - 删除索引:`drop index idx_id on table1;` 或 `alter table table1 drop index ind_id;` 11. 字符串函数与查询操作 - 使用`concat`函数联合字符或多个列:`select concat(id, ':', name, '=') from students;`...

    MySQL-开发教程.docx

    CREATE INDEX idx_username ON users(username); ``` **4.4 事务** - **语法**: ```sql START TRANSACTION; -- 执行一系列更新操作 COMMIT; ``` - **示例**: ```sql START TRANSACTION; UPDATE users ...

    db2常用命令集合(经典语句集合)

    - `db2 "BACKUP DATABASE DATABASE_NAME TO backup_directory"`:备份数据库。 - `db2 "RESTORE DATABASE DATABASE_NAME FROM backup_directory"`:恢复数据库。 - `db2 "RESTORE TABLESPACE tablespace_name ...

    数据库-MySQL(一).zip

    - 创建索引使用`CREATE INDEX`,如`CREATE INDEX idx_name ON mytable (name);` 7. **视图(View)** - 视图是虚拟表,不存储数据,而是基于一个或多个表的查询结果。视图可以简化复杂的查询并提供数据的安全性。...

    mysql-command.rar_mysql操作

    3. 删除索引:`DROP INDEX idx_name ON table_name;` 七、事务处理 MySQL支持事务,用于确保数据的一致性和完整性。例如: ```sql START TRANSACTION; -- 执行SQL操作 COMMIT; -- 提交事务 ROLLBACK; -- 回滚事务 `...

    SQL-数据定义及查询).doc

    CREATE INDEX idx_student_name ON student (name); ``` #### 二、SQL Server 2000 中的数据类型与 T-SQL 数据定义语句 **1. 数据类型** - **CHAR**: 定长字符串。 - **VARCHAR**: 变长字符串。 - **INT**: ...

    SQLServer语句大全

    创建一个备份设备,例如 EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'; 2. 开始备份:BACKUP DATABASE database_name TO device_name 开始备份数据库,例如 BACKUP DATABASE pubs TO...

    SQL基础语句.docx

    - `BACKUP DATABASE databaseName TO DISK = 'backup_path\file_name.bak'` 创建数据库备份。 18. **修复和日志管理**: - `DBCC CHECKDB (databaseName)` 检查数据库完整性。 - `DBCC LOGINFO` 显示日志文件...

    MySQL常用命令大全

    - `mysqldump -u username -p db_name &gt; backup.sql` 备份数据库。 - `mysql -u username -p db_name 从备份文件恢复。 11. **权限管理** - `GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'localhost' ...

    sqlite3-database.zip_sqlite3

    CREATE INDEX idx_name ON Students (name); ``` - 主键约束:`PRIMARY KEY`确保列的唯一性。 - 外键约束:SQLite3支持外键,但需要开启特定的编译选项。 ``` CREATE TABLE Courses ( id INTEGER PRIMARY KEY, ...

    Java开发人员常用DB2命令总结

    - **命令**:`db2 "BACKUP DATABASE &lt;databasename&gt; ONLINE TO &lt;path&gt; WITH 2 BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"` - **说明**:在数据库不停机的情况下进行备份。 - **恢复数据库** - **...

    精妙sql语句收集~~~~

    EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'; ``` - 执行备份: ``` BACKUP DATABASE pubs TO testBack; ``` - **说明**: - **创建备份设备**: 在执行备份之前需要先创建一个...

    SQL\sql语句大全.txt

    EXEC sp_addumpdevice 'disk', 'testBackup', 'C:\mssql7backup\MyNewWin_1.dat'; ``` - **备份数据库** ```sql BACKUP DATABASE pubs TO testBackup; ``` - **创建表** ```sql CREATE TABLE tab_name ( ...

    spl基本命令

    EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat';` - **执行备份**: 使用`BACKUP DATABASE`语句进行备份。 - 命令格式: `BACKUP DATABASE db_name TO device_name;` - **示例**: `...

    MySQL使用教程详解.pdf

    - 例如:`CREATE INDEX idx_students_name ON students (name);`。 #### 七、备份与恢复 - **备份数据库**: - 使用`mysqldump`工具进行备份。 - 例如:`mysqldump -u 用户名 -p mydb &gt; backup.sql`。 - **...

    经典SQL语句大全.docx

    EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat';` - 执行备份: `BACKUP DATABASE pubs TO testBack;` - **说明**: 这些命令用于备份SQL Server数据库到指定的位置。 - **示例**: - ...

Global site tag (gtag.js) - Google Analytics