关于ivx全文搜索功能的经验总结

353 阅读2分钟

在ivx中,全文搜索经常用于实现论坛 / 博客 / 文章等案例的搜索功能,它会自动根据用户的搜索内容进行分词和匹配,今天就来说一下具体的使用方法。

ivx的全文搜索当前使用ES引擎(Elastic Search),我们可以给数据库的任意字段设置全文搜索,勾选后该字段就会进入全文搜索库,我们就可以通过数据库的全文搜索动作进行查询,另外可以选择精确匹配选项用于排序与筛选,或者中文/英文分词。要注意的是全文搜索虽然可以对文本做精确的搜索和定位,但是其消耗的后台服务资源也较多,最好确认该字段确实有这个需求后再添加。

在demo中我们给标题和内容这两个字段设置全文搜索,点击search按钮数据库执行全文搜索的内容,我们可以看到输出的的对象数组中多了几个列,相关度评分会作为输出结果排序的依据,而命中词则是搜索出来匹配的结果,每个设置了全文搜索的字段对应其中一个子数组,我们可以利用它在展示效果中将命中词高亮显示。

这里利用了文本组件的高亮显示文本属性,它可以直接填入词或者数据绑定一个数组,demo中我们将显示标题的文本组件的高亮显示文本属性中填入对应的命中词子数组“标题”,显示内容的文本组件也绑定子数组“内容”,这样就可以实现下图中的显示效果了。