RDS+opensearch 实现帝国CMS的全文搜索

基于rds+帝国CMS的想使用opensearch,实现全文内容搜索,虽然功能比较简单(比自带的效果好),但是后续功能会慢慢强大的。

那怎么样来创建基于opensearch的搜索?下面会告诉你操作方法。

环境配置:

1、使用的阿里的rds,并且rds实例在杭州(开放搜索支持的区域)
2、开通了opensearch的服务。

3、帝国CMS的版本号7.2(理论上是没有限制的)

第一步:创建开放搜索应用

1、在开放搜索中创建一个模板,例如名称叫ECMS

op01

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

op02

3、添加数据表名和类型

注意这里要创建两个表,第一个表名为main,第二个表名为body。id的字段类型为INT。其他为text。

main表中的id “连接外表主键”到body表

op03

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

op04

 

5、点继续,这样一个简单的帝国CMS全文搜索OpenSearch索引结构就完成了

6、配置字段搜索属性,可直接下一步

op05

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

8、创建应用

op06

9、找到结构类型模板ECMS

op07

下一步。

10、配置数据源

op08

11、连接数据

op09

 

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

op10

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

op11

 

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

op12

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

op13

op14

 

16、搜索结果相关性配置

op15

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

op16

第二步、配置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中添加各种可搜索的数据,利用好主表和附表,各种程序数据都可融合,然后做搜索。