Jnix search engine技术概括文档
概述
Jnix search engine 是一个全文搜索引擎,非常适合替代性解决对大量数据的数据库多字段like搜索。由于采用全文搜索技术对大文本字段进行分词,索引,所以极大的加速了检索的过程。适合的应用模型如b2c网站商品搜索,b2b网站的商户,商情搜索,竞价排名,论坛,blog等等传统上通过数据库管理大量数据,对一些字段需要进行like查询。
特色
Jnix search engine有很多特色使它非常适合对数据库的数据结构的数据进行检索。特色如下:
类似数据库的对象设计:引擎设计了类似数据库中的对象 。和数据库中的对象对应如下
搜索引擎 数据库
index table
document record
field field
index包含多个document,document包含多个field,field对象支持 存储,索引,和分词属性。
基于汉字的二元分词。对于文本(数据库字段中)如果使用CJK字符(GBK,BIG5)则采用二元分词。好处是引擎不需要建立词表,并且搜索的命中是精确匹配,文档中如果包含这个词,一定会查到。对于英文,智能的采用自然分词(空格),并且可以对一些常用的格式的文本智能的识别,如email,url, host格式的文本
强大的查询语句。对于数据的检索支持类似sql92的语法,可以对索引中的文档的多个字段进行 and or 限定 如: 对于论坛帖子的查询 可以 subject:技术 and body:net 查询subject字段包含技术,body字段包含 net这两个词的帖子。同时支持对查询结果按照数字字段进行排序
支持对索引的实时存取,您可以通过API实时的对索引进行维护。如删除文档,添加文档,就象通过sql语句删除记录,添加记录一样方便。
数据的增量索引方式。对于新加入的文档,并不影响老的索引。并不需要象其他搜索引擎那样重建索引,而关闭服务。而可以在提供服务的同时添加新的文档。
搜索引擎使用方式
java平台
通过提供的引擎的driver 可以访问维护索引,检索数据,取得结果集。Driver接口类似数据库driver提供的接口,也包含 connection, resultset,row 等对象
其他平台如asp,php,cgi等
可以同客户商量接口,如通过http+xml的方式定时同步数据,接收增量文档(增量建立索引),和返回搜索结果
系统需求
java runtime environment >= 1.3
windows200,windowsxp,linux,unix
系统架构
内核编写语言 java
引擎服务方式 servlet webapp
demo
jnix 网站的论坛系统的搜索功能 url为
http://www.jnix.com
FAQ
查询语法
举例
title:”The Right Way” and text:go
通配符
tes?t test* te*t
模糊搜索
roam~ ~代表以roam结尾的所有字符匹配
在搜索条件中可以用()分组 例如 (title:aa and body:bb) and age:3
反馈 email
其它产品介绍
jnix forum 是一个MVC设计方式的论坛软件,论坛的逻辑层和用户界面分离,可以很容易的将此论坛集成到您现有的网站系统,并且很方便的和您现有的用户系统集成,来对用户身份认证。支持多种数据库,理论上支持所有符合sql92标准的数据库,已经测试过的数据库有 mysql,sqlserver,oracle详细介绍请登陆http://www.jnix.com