迅搜中文分词简明教程
来源:互联网 发布:淘宝口令变成链接 编辑:程序博客网 时间:2024/06/02 02:32
简介
安装和命令行操作可以参考手册
索引
none 不做索引,所有的搜索匹配均与本字段无关,这个字段只用于排序或搜索结果展示用到。
self 字段索引,可以在搜索时用 field:XXX 来检索本字段
mixed 混合区索引,不标明字段的默认搜索也可以检索本字段
both 相当于 self + mixed,两种情况均索引
字段类型
string 字符型,适用多数情况,也是默认值
numeric 数值型,包含整型和浮点数,仅当字段需用于以排序或区间检索时才设为该类型,否则请使用 string 即可
date 日期型,形式为 YYYYmmdd 这样固定的 8 字节,如果没有区间检索或排序需求不建议使用
id 主键型,确保每条数据具备唯一值,是索引更新和删除的凭据,每个搜索项目必须有且仅有一个 id 字段,该字段的值不区分大小写
title 标题型,标题或名称字段,至多有一个该类型的字段
body 内容型,主内容字段, 即本搜索项目中内容最长的字段,至多只有一个该类型字段,本字段不支持字段检索
配置文件简介
project.name = keys 指定项目名称,最好跟ini配置文件同名project.default_charset = UTF-8 指定项目默认字符集[kid]type = id 指定id字段,每个项目只能有一个id字段,id字段的值不能重复[value]type = string 指定一个string字段,string也是默认字段类型index = both 设置索引为both;不设置索引的字段,不会被检索[pinyin]type = stringindex = both[type]type = numeric 指定一个数字字段
编写配置文件时要特别注意:需要索引的字段一定要指定索引类型,因为字段默认是无索引(none)
使用PHP api调用迅搜
构造一个迅搜对象
$xs=new XS('keys’);
所有操作都要基于一个迅搜对象,创建对象需要指定具体的项目名称
获取一个索引对象
$index=$xs->getIndex();
索引对象可以添加,更新数据
获取一个查询对象
$search=$xs->search;
查询对象内置所有查询相关方法
构造一个文档对象
迅搜所有的操作都要基于文档,文档概念贯穿整个迅搜软件
$doc = new XSDocument();
索引对象增、改操作需要传一个文档对象,而查询方法会返回一个文档对象
例:
插入数据
try{ $_indexNumber=time().rand(1, 100); $data=array( 'kid'=>$_indexNumber, 'value’=>'测试数据', 'pinyin’=>'ceshi', 'type’=>1, ); //插入分词词库 $index=$xs->getIndex();//索引对象 $doc = new XSDocument(); //创建文档对象 $doc->setFields($data); if($index->add($doc)) //将文档添加到索引 { printLine('保存成功'); }else { printLine('ERR'); }}catch(XSException $e){ echo $e->getMessage();}catch(Exception $e){ echo $e->getMessage();}
例:
查询数据
$keywords=trim($_POST['keywords']);try{ $xs=new XS('keys'); //获取搜索对象 $search=$xs->search; //生成key数组,单条生成 $keywords=empty($keywords)?'':$keywords; $keywords=explode(',', $keywords); //设置多条语句 if(!is_array($keywords)){ $search->setQuery($keywords); }else if(is_array($keywords)){ foreach($keywords as $val){ $search->setQuery($val); } } $docs_c=$search->count(); //执行 $docs=$search->search();}catch(XSException $e){ echo $e->getMessage().'<br />';}catch(Exception $e){ echo $e->getMessage().'<br />';}
0 0
- 迅搜中文分词简明教程
- solr6.3与MySQL结合使用的简明教程(五)——中文分词
- Java 8简明教程 (中文)
- 苹果Swift语言中文简明教程
- React-Router 中文简明教程(上)
- React-Router 中文简明教程(中)
- React-Router 中文简明教程(下)
- 中文分词
- 中文分词
- 中文分词
- 中文分词
- 中文分词
- 中文分词
- 中文分词
- 中文分词
- 中文分词
- 中文分词
- 中文分词
- 指向指针的指针
- 编程之美之加法的面试题
- 【剑指offer】面试题4:替换空格
- 相位补偿
- 【zendframework】ZendFramework的介绍、安装和实例运行
- 迅搜中文分词简明教程
- 正则表达式(笔记)
- 句法模式识别(二)-正规文法、上下文无关文法
- cocos2dx场景切换中init、onEnter、onEnterTransitionDidFinish的调用顺序
- 查找(二)简单清晰的B树、Trie树详解
- 约瑟夫问题 c++代码
- Cocos2d-x 渲染自定义字体--bmfont工具简单使用
- 21、下载整个网站。
- 模式匹配KMP POJ 3461