xunsearch之php索引维护(四)

1.添加文档

$xs = new XS(‘njw‘);
$index = $xs->index;
$data = array(
‘pid‘ => 234, // 此字段为主键,必须指定
‘subject‘ => ‘测试文档的标题‘,
‘message‘ => ‘测试文档的内容部分‘,
‘chrono‘ => time()
);
//创建文档对象
$doc = new XSDocument;
$doc->setFields($data);
?//添加到索引数据库中
$index->add($doc);

2.更新文档

//创建文档对象
$doc = new XSDocument;
$doc->setFields($data);
//更新到索引数据库中
$index->update($doc);

3.平滑批量重建更新索引

header(‘Content-Type:text/html;charset=utf-8;‘);
require_once ‘../../../local/xunsearch/sdk/php/lib/XS.php‘;
include "./mysql_conn.php";
try{
$xs = new XS(‘njw‘);
//平滑重建索引
//宣布开始重建索引
$xs->index->beginRebuild();
$sql = "select g.id id,g.title title,g.norms norms,i.picture picture from b2b_goods g INNER JOIN b2b_goods_images i ON g.id=i.goods_id limit";
$result = $db->query($sql);
while( $row = $result -> fetch_assoc ()) {
$doc = new XSDocument;
$doc->setFields($row);
//添加到索引数据库中
$xs->index->add($doc);
$xs->index->update($doc);
}
//告诉服务器重建索引完成
$xs->index->endRebuild();
}catch(XSException $e){
echo $e;
}

4.使用缓冲区批量重建更新索引

header(‘Content-Type:text/html;charset=utf-8;‘);
require_once ‘../../../local/xunsearch/sdk/php/lib/XS.php‘;
include "./mysql_conn.php";
try{
    $xs = new XS(‘njw‘);
    //使用索引缓冲区
    $xs->index->openBuffer();
    $sql = "select g.id id,g.title title,g.norms norms,i.picture picture from b2b_goods g INNER JOIN b2b_goods_images i ON g.id=i.goods_id";
    $result = $db->query($sql);
    while( $row = $result -> fetch_assoc ()) {
        $doc = new XSDocument;
        $doc->setFields($row);
        //添加到索引数据库中
        $xs->index->add($doc);
        $xs->index->update($doc);
    }
    //告诉服务器重建索引完成
    $xs->index->closeBuffer();
}catch(XSException $e){
    echo $e;
}
时间: 2024-10-12 07:18:45

xunsearch之php索引维护(四)的相关文章

【SQLSERVER】数据库索引维护/优化

好几个月没更新博客了,一方面是因为换工作和搬家的原因,比较忙:另一方面是因为觉得对数据库的理解还不够深刻,花了些时间在学习上. 最近到新公司后,做了些数据库索引优化和维护上的工作,趁着今天有空,写个博客与大家分享下,其实一些源码也是网上拷贝的,只不过是做了些改进,主要想分享的是一个优化的思路. 一.索引的利弊   优点: 1.大大加快数据的检索速度: 2.创建唯一性索引,保证数据库表中每一行数据的唯一性: 3.加速表和表之间的连接: 4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组

SQL Server 索引维护:系统常见的索引问题

在很多系统中,比如本人目前管理的数据库,索引经常被滥用,甚至使用DTA(数据库引擎优化顾问)来成批创建索引(DTA目前个人认为它的真正用处应该是在发现缺失的统计信息,在以前的项目中,用过一次DTA,里面提示了很多列缺少统计信息,后来在不改动其他操作的前提下,把这些统计信息手动建上去,性能提升非常明显.关于统计信息将另开文章介绍).一个表甚至有20多个索引(索引的数量并没有标准,但是要尽量合理,每个索引都应该能支撑大量查询或者增删改中的查询功能才有存在价值).索引过多带来了服务器的沉重压力,有这么

Lucene.Net 2.3.1开发介绍 —— 三、索引(四)

原文:Lucene.Net 2.3.1开发介绍 -- 三.索引(四) 4.索引对搜索排序的影响 搜索的时候,同一个搜索关键字和同一份索引,决定了一个结果,不但决定了结果的集合,也确定了结果的顺序.那个这个结果是怎么得出来的?这个顺序又是怎么排的呢?这两个问题不是本节讨论的重点,但是这两个问题却关系到本节要讨论的,索引对结果的影响问题.在不使用字段排序的情况下,Lucene.Net默认是按文档的得分来排序的,这个公式看着很复杂,感觉像是大学时高数书上的那些个公式,其实说清楚了也简单. 关于文档排序

SQLSERVER 索引维护

SQLSERVER 索引维护 2012-03-08 00:30:09|  分类: 默认分类 |  标签:sql  sqlserver  索引  |举报|字号 订阅 Pages & Extents(页和扩展盘区)SQL Server 2000最基本的数据存储单元是data page,1个8K的存储空间.在分配存储空间时,SQL Server 2000并不是每次分配1个page,基本的存储空间分配单元是8个page的连续空间,称为extent.关于SQL Server 2000的page.exten

windows10系统优化搜索索引的四种方法

很多使用windows10正式版系统的用户,都反馈Windows10索引功能实在占用太多资源了.更加令人苦恼的是,我们又不能将其关闭(会使系统很多功能不能用),这该怎么办呢?其实,我们可以对其进行一些优化,减少其对资源的使用.下面,就随小编看看具体步骤吧! 一:关闭在线搜索 1.微软将Web搜索加入索引功能中,其实就是让必应进行搜索,内容还是需要开启浏览器查看,很鸡肋,在任务栏搜索框的设置中,我们可以将Web搜索关闭: 2.这只是楼主的建议,喜欢的用户当然可以保留. 二:搜索服务延迟启动 1.在

【IOS】IOS开发问题解决方法索引(四)

1       IOSNSTimer线程无法在委托方法之外停止 NSTimer无法在线程的委托方法之外停止. 2       在IOS4.3中添加AdSupport.framework会引起dyld 'dyld_fatal_error 将库引用参数设置为可选即可解决. 3       Failed to get the task for process xxx 证书问题,project与target的调试证书都必须是开发者证书,ADHOC的证书会出现此问题. 4       IOS NSInvo

mysql数据库索引(四)

1.索引的创建 create index user_index on user(uname); 2.查看表中的索引 show index from table_name; 3.删除索引 drop index user_index on table_name; 4.使用索引的优点 1.可以通过建立唯一索引或者主键索引,保证数据库表中每一行数据的唯一性: 2.建立索引可以大大提高检索的数据,以及减少表的检索行数: 3.在表连接的连接条件 可以加速表与表直接的相连: 4.在分组和排序字句进行数据检索,

SQL Server 数据库的维护(四)__游标(cursor)

--维护数据库-- --游标(cursor)-- --概述: 注:使用select语句查询结果的结果集是一个整体,如果想每次处理一行或一部分行数据,游标可以提供这种处理机制.可以将游标理解为指针.指针指向哪条记录,哪条记录即是被操作记录. 游标处理结果集的方式: 1)允许定位在结果集的指定位置行. 2)从结果集的当前位置检索一行或一部分行记录. 3)支持对结果集当前位置做数据修改.删除等操作. --使用游标 注:使用游标定位和操作数据记录的一般步骤为:声明游标.打开游标.抽取数据.关闭游标和释放

java easyreport 导入excel、 txt 数据行列索引(四)

姓名 年龄 科目 分数 教师姓名 教师性别 王老五 12 语文 80 张三丰 男 我们要求导入数据中不包含科目和分数. 导入demo TestExcelIndex类 package example; import java.io.File; import java.io.FileInputStream; import java.util.List; import java.util.Map; import model.Student; import test.AbstractExcelTest;