import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrInputDocument;
import org.springframework.stereotype.Service;
@Service("solrServerService")
public class SolrServerServiceImpl implements SolrServerService{
/**
* 添加索引
*
* @param coreName
* @param obj
* @throws Exception
*/
public void add(String coreName, Object obj) throws Exception
{
if(obj == null)
{
return ;
}
SolrClient solrClient = SolrClientFactory.getSolrClient(coreName);
solrClient.addBean(obj);
solrClient.commit();
}
/**
* 根据id删除索引
*
* @param coreName
* @param id
* @throws Exception
*/
public void delete(String coreName, String id) throws Exception {
SolrClient solrClient = SolrClientFactory.getSolrClient(coreName);
solrClient.deleteById(id);
solrClient.commit();
}
/**
* 根据ID更新字段
* @param coreName
* @param list
*/
public void update(String coreName, List<UpdateData> list) throws Exception{
SolrClient solrClient = SolrClientFactory.getSolrClient(coreName);
for(UpdateData ud : list)
{
SolrInputDocument sd = new SolrInputDocument();
for(Data data: ud.datas){
Map<String, Object> map = new HashMap<String, Object>();
if(data.isIncrease)
{
map.put("inc", data.getValue());
}
else
{
map.put("set", data.getValue());
}
sd.addField(data.getFieldName(), map);
}
sd.addField("id", ud.getIdValue());
solrClient.add(sd);
solrClient.commit();
}
}
/**
* Atomic update index
* @param coreName
* @param list
* @throws Exception
*/
public void updateValues(String coreName, List<SolrInputDocument> list) throws Exception{
SolrClient solrClient = SolrClientFactory.getSolrClient(coreName);
for(SolrInputDocument model:list)
{
solrClient.add(model);
}
solrClient.commit();
}
/**
* 批量添加
*
* @param coreName
* @param list
* @throws Exception
*/
@SuppressWarnings("rawtypes")
public void batchAdd(String coreName, List list) throws Exception {
SolrClient solrClient = SolrClientFactory.getSolrClient(coreName);
solrClient.addBeans(list);
solrClient.commit();
}
/**
* 批量删除
*
* @param coreName
* @param idList
* @throws Exception
*/
public void batchDelete(String coreName, List<String> idList) throws Exception {
SolrClient solrClient = SolrClientFactory.getSolrClient(coreName);
solrClient.deleteById(idList);
solrClient.commit();
}
/**
* Solr search API
* @param coreName
* @param query
* @return
* @throws Exception
*/
public QueryResponse search(String coreName, SolrQuery query) throws Exception {
SolrClient solrClient = SolrClientFactory.getSolrClient(coreName);
return solrClient.query(query);
}
}
相关推荐
描述中的"this script it's just to create a backup or restore your database."暗示了该脚本会涵盖这两个关键功能。备份部分可能涉及获取数据库信息,选择备份类型,设置备份位置,然后调用`Backup-DbaDatabase` ...
http://finelybook.com/microsoft-sql-server-2016-a-beginners-guide-6th-edition/ Book Description to Finelybook sorting Up-to-date Microsoft SQL Server 2016 skills made easy! Get up and running on ...
sqlcmd -S YourServerName -U YourUsername -P YourPassword -d YourDatabaseName -Q "EXEC dbo.YourBackupProcedure" ``` 3. **设置Windows计划任务**:在Windows操作系统中,通过“任务计划程序”设置一个计划,让...
介绍Snebu-简单的网络备份实用程序,名义上的系统,一切都已备份Snebu是一种高效,增量,快照式,重复数据删除,压缩,加密,数据库支持,多主机,...server central-backup-server -k myhost.key \ -k corporate-s
此外,它还能与多种数据库系统(如Oracle、SQL Server、MySQL等)以及邮件系统(如Outlook Express、Thunderbird)配合,确保各类应用的数据安全。 在处理大数据增长方面,AnyBackup采用了一系列先进技术,如第三代...
sqlcmd -S 服务器名称 -d 数据库名称 -Q "BACKUP DATABASE 数据库名称 TO DISK = '文件路径'" ``` 四、导出结果 ---------------- 无论使用 SSMS 还是 sqlcmd,导出带数据的脚本都可以用于恢复和部署数据库结构和...
server backend3.example.com backup; } server { listen 80; server_name your_domain.com; location / { proxy_pass http://backend_servers; } } ``` 这样,nginx会根据权重分配请求到不同的后端服务器,...
- **Virtual Server Backup**: Supports popular virtualization platforms like VMware and Microsoft Hyper-V, enabling efficient backup and recovery processes for virtual machines. 2. **Granular ...
文档中提到的“ BackupExec20.1 Administrator's Guide”指的是管理员指南,这是操作手册的一个组成部分,涵盖了Backup Exec的管理员所需了解的详细信息。管理员指南中介绍了Backup Exec的基本信息、工作原理、安装...
我的个人配置文件。 Mac/Linux ...$ ln -s $PWD /.zshrc ~ /.zshrc $ chsh -s $( which zsh ) $ ln -s $PWD /.tmux.conf ~ /.tmux.conf ...$ ln -s minecraft-server.sh ~ /minecraft-server.sh $ ln -s .jshint.json
sqlcmd -S <server_name> -U <username> -P <password> -Q "RESTORE DATABASE <database_name> FROM DISK='<backup_file>' WITH REPLACE" ``` 这里的 `<backup_file>` 是数据库备份文件的路径。 总结来说,SQL ...
-S, --server-response print server response. --spider don't download anything. -T, --timeout=SECONDS set all timeout values to SECONDS. --dns-timeout=SECS set the DNS lookup timeout to SECS. --...
- `-r real-server-address port`: 指定实际服务器地址和端口。 - `[-g | -i | -m]`: 指定LVS的工作模式(直接路由、隧道或NAT)。 - `[-w weight]`: 设置实际服务器的权重。 - **编辑实际服务器**:使用`-e`...
在SQL Server 2008中,为了确保数据的安全性和防止意外丢失,设置自动备份是一项至关重要的任务。这里我们将详细探讨如何使用SQL Server自带的`sqlcmd`工具以及如何创建一个自定义的备份脚本来实现这一功能。 首先...
- 执行备份命令,例如`sqlcmd -S <server_name> -U <username> -P <password> -Q "BACKUP DATABASE <database_name> TO DISK = '<backup_path>\<database_name>_bak.bak'"`。 - 或者,它可能调用PowerShell脚本`...
- 在“添加参数”中,输入SQL脚本的路径以及执行备份的命令,如:`-S .\YourInstanceName -U YourUsername -P YourPassword -Q "YOUR_BACKUP_SCRIPT"`。 3. **考虑备份策略** - 定期性:根据业务需求设定备份频率...
-b ip:port, set backup memcached server ip and port -l ip, local bind ip address, default is 0.0.0.0 -n number, set max connections, default is 4096 -D don't go to background -k use ketama key ...