阿里云
1024开发者盛宴之Java专家问答专场
发表主题 回复主题
  • 5797阅读
  • 14回复

[使用教程]RDS+opensearch 实现帝国CMS的全文搜索

级别: 帮帮团
发帖
686
云币
57
— 本帖被 zhengmay 设置为精华(2015-07-29) —
基于rds+帝国CMS的想使用opensearch,实现全文内容搜索,虽然功能比较简单(比带的效果好),但是后续功能会慢慢强大的。
那怎么样来创建基于opensearch的搜索?下面会告诉你操作方法。
环境配置
1、使用的阿里rds,并且rds实例在杭州(开放搜索支持的区域)
2、开通了opensearch的服务。
3、帝国CMS的版本号7.2(理论上是没有限制的)
第一步:创建开放搜索应用
1、在开放搜索中创建一个模板,例如名称叫ECMS


2、自定义结构(下载应用结构模板可跳过以下2-8步,这里直接选择导入模板ECMS.txt即可,压缩包在文章末尾)


3、添加数据表名和类型
注意这里要创建两个表,第一个表名为main,第二个表名为body。id的字段类型为INT。其他为text。
main表中的id “连接外表主键”到body表


4、给body表的newstext(内容全文字段)使用内容转换插件“HTMLTagRemover | newstext”



5、点继续,这样一个简单的帝国CMS全文搜索OpenSearch索引结构就完成了
6、配置字段搜索属性,可直接下一步


7、确认明细,可直接下一步,点创建
8、创建应用


9、找到结构类型模板ECMS


下一步。
10、配置数据源


11、连接数据



12、如果帝国CMS数据表里的字段没有修改过都能匹配上,点保存。

13、同样的办法连接body表,新闻正文内容存放表对应表名是phome_ecms_news_data_1,下一步


14、创建,这个时候这个应用就创建成功了。然后激活应用。

15、应用激活之后,开始重建索引,选择导入+重建,然后勾选main表和body表,点击创建。



第二步、配置opensearch搜索
下载opensearch的压缩包,配置同级目录下的config/config.php文件
解压后修改完成后,可直接按照目录结构传到网站根目录
ECMS.txt 为应用结构模板
s.php 为接受搜索请求文件
————
在线演示地址 :http://js.lyecsp.com/golf/index.html
index.html和index.php为演示文件
so.php 为修改过的s.php页面
————
下载文件:
ECMS opensearch
PS:根据这个方法,可以举一反三,往opensearch中添加各种可搜索的数据,利用好主表和附表,各种程序数据都可融合,然后做搜索。
本帖最近评分记录: 3 条评分 云币 +30
zhengmay 云币 +10 非常感谢! 2015-07-29
rosamond 云币 +10 您的无私奉献精神值得我们学习!向您致敬! 2015-07-27
yunfeifan 云币 +10 我对你的仰慕之情如滔滔江水,连绵不绝,犹如黄河泛滥,一发而不可收拾 2015-07-26
级别: 帮帮团
发帖
686
云币
57
只看该作者 沙发  发表于: 2015-07-26
Re:RDS opensearch 实现帝国CMS的全文搜索
ECMS.zip (1 K) 下载次数:217 opensearch.zip (33 K) 下载次数:208
级别: 帮帮团
发帖
686
云币
57
只看该作者 板凳  发表于: 2015-07-26
Re:RDS opensearch 实现帝国CMS的全文搜索
16、搜索结果相关性配置


17、搜索结果摘要飘红字段配置

级别: 小白
发帖
10
云币
8
只看该作者 地板  发表于: 2015-07-26
ReRDSopensearch实现帝国CMS的全文搜索
赞!
级别: 小白
发帖
38
云币
85
只看该作者 4楼 发表于: 2015-07-27
ReRDSopensearch实现帝国CMS的全文搜索

我看您在opensearch.zip中已经提供ecms的应用结构模板了,是不是不需要再单独提供ecms.zip这个下载包了
级别: 小白
发帖
38
云币
85
只看该作者 5楼 发表于: 2015-07-27
ReRDSopensearch实现帝国CMS的全文搜索
使用楼主的应用结构模板的时候就不用走自定义模板了,直接导入ecms.txt文件就可以了,后面直接从模板创建应用即可
发帖
329
云币
404
只看该作者 6楼 发表于: 2015-07-27
赞, 我们就需要这样的支持用户的
级别: 帮帮团
发帖
686
云币
57
只看该作者 7楼 发表于: 2015-07-27
回 5楼(yeyanchao) 的帖子
是的,如果简单的实现全文搜索,就只需要导入ECMS.txt文件就可以了。列出创建应用结构步骤主要是可以举一反三做更多的搜索数据尝试。因为帝国CMS(我相信还有很多别的程序)可供搜索的数据不是存放在一个表中的。这步骤适用于大多数的程序配置开放搜索。
级别: 新人
发帖
15
云币
25
只看该作者 8楼 发表于: 2015-10-20
ReRDSopensearch实现帝国CMS的全文搜索
怎么配置帝国cms才能连接到rds啊??
[ 此帖被geje在2015-10-20 22:07重新编辑 ]
发帖
337
云币
538
只看该作者 9楼 发表于: 2015-10-21
回 8楼(geje) 的帖子
您现在帝国CMS应该是本地数据库吧? 比较快捷的方式就是把数据库搬到RDS上,这里有篇帖子可以参考:http://bbs.aliyun.com/read/159714.html?spm=5176.bbsr231898.0.0.z7ZEo6
级别: 小白
发帖
41
云币
47
只看该作者 10楼 发表于: 2015-10-21
ReRDSopensearch实现帝国CMS的全文搜索
帝国CMS用户群体还是挺大,不过OPENSEARCH很强大,跟帝国整合起来有点复杂啊
级别: 新人
发帖
5
云币
13
只看该作者 11楼 发表于: 2017-11-22
ReRDSopensearch 实现帝国CMS的全文搜索
我们是通过API 注入数据文档的
级别: 新人
发帖
2
云币
3
只看该作者 12楼 发表于: 06-30
ReRDSopensearch 实现帝国CMS的全文搜索
数据索引已经OK  就是不知道这么整合帝国CMS

楼主能否赐教
级别: 新人
发帖
1
云币
1
只看该作者 13楼 发表于: 08-07
回 11楼21jy的帖子
想请教下写500篇文档的获取mysql数据到整合API再推送到opensearch去的代码,,我个人觉得应该加上API返回的值再更新mysql做记录,写代码时先找出没推送的mysql数据再进行推送,这样可以做到增量推送到OpenSearch去
级别: 程序猿
发帖
484
云币
730
只看该作者 14楼 发表于: 09-12
Re:RDS opensearch 实现帝国CMS的全文搜索
学习了,谢谢分享!!
[ 此帖被服务器云在2018-11-09 21:08重新编辑 ]
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个