首页 > 【站内搜索】如何实现组合搜索jsp语言

【站内搜索】如何实现组合搜索jsp语言

程序语言:jsp
问题一:

店铺名字叫做:小浩的水果店
主营:苹果、鸭梨、柿子
实际产品:荔枝、板栗

那么例如站内搜索
关键词”小浩 苹果“(小浩 空格 苹果)或者 ”小浩苹果“
搜索结果”小浩的水果店“即可以出来,应该怎样实现?
如果这个解决,事实不是产品也一样,例 关键词”荔枝 水果店“或者”荔枝水果店“
搜索结果”荔枝“或者”小浩的水果店“

问题二:

程序里面有计时器,不过近期发现,订单列表总是不断刷屏,重复刷屏,此问题应该是什么地方,是计时器造成的吗?


1、对数据库中存储的字段内容进行分词。
2、对用户输入的关键词进行中文分词。
PHP的话可以使用中文分词扩展SCWS,Java应该也有类似的工具。

简易中文分词SCWS提供有PECL扩展以及中文词典,PHP使用起来很方便,
可以搭配MySQL的FullText索引(MyISAM/InnoDB)实现简单的全文搜索功能.
http://www.xunsearch.com/scws/docs.php#instscws
表引擎建议使用MySQL5.6.4后的InnoDB.
比如要实现对自己博客的所有文章进行全文搜索:
插入文章时,对标题和正文这两个字段进行SCWS中文分词并用空格分隔后存入一个用于全文搜索的字段比如article_fc,该字段要求建立FullText全文索引.
用户搜索时,先使用SCWS对输入进行分词比如获得关键词word1和word2,然后用
SELECT * FROM articles WHERE MATCH(article_fc) AGAINST('word1 word2');
对索引字段article_fc进行全文搜索,把获取的结果中的标题和正文返回即可.
article_fc字段所在的表也可以和标题正文所在的文章表分开,文章ID作为article_fc字段所在的表的外键,查出后连接文章表读出标题正文即可.

【热门文章】
【热门文章】