Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Content management system 如何在平面文件CMS中实现搜索_Content Management System_Hugo_Grav_Gatsby - Fatal编程技术网

Content management system 如何在平面文件CMS中实现搜索

Content management system 如何在平面文件CMS中实现搜索,content-management-system,hugo,grav,gatsby,Content Management System,Hugo,Grav,Gatsby,平面文件CMS不使用数据库。那么搜索是如何实现的呢?与数据库支持的搜索相比,使用这种类型的设置进行搜索的计算成本是否更高 静态站点和搜索的问题在于,根据定义,一个是静态的,而另一个是高度动态的。因此,没有现成的方法可以让这两个人幸福地生活在一起 平面文件CMS不是静态网站。虽然解析文件比解析数据库(通常?)成本更高,但底层CMS可以轻松提供搜索功能。寻找能提供你想要的东西的插件 然而,有一些非平凡的解决方案可以实现您想要的,这取决于您的基础设施和容量,以及您的站点是否能够实现服务器端计算(gra

平面文件CMS不使用数据库。那么搜索是如何实现的呢?与数据库支持的搜索相比,使用这种类型的设置进行搜索的计算成本是否更高

静态站点和搜索的问题在于,根据定义,一个是静态的,而另一个是高度动态的。因此,没有现成的方法可以让这两个人幸福地生活在一起

平面文件CMS不是静态网站。虽然解析文件比解析数据库(通常?)成本更高,但底层CMS可以轻松提供搜索功能。寻找能提供你想要的东西的插件

然而,有一些非平凡的解决方案可以实现您想要的,这取决于您的基础设施和容量,以及您的站点是否能够实现服务器端计算(grav can、gatsby和hugo can)

最简单的方法是在一个特殊文件中创建所有内容的索引,然后加载该索引并在客户端进行搜索。您甚至可以使用已经生成的包来加速此选项上的开发时间。(例如:)

其优点是,这样做很琐碎。缺点是索引会变得很大,而所有的搜索都是在客户端完成的(因此,如果索引足够大,用户可能需要很长的等待时间)。这种解决方案也不能很好地扩展

另一种方法是使用搜索服务(作为SAAS或在您自己的网站上)将搜索功能外部化。基本上,这项服务运行在您的服务器上,将有一种方法来索引您的内容(通过API)和搜索ie(通过API)。只需确保搜索API是公共的,您可以从客户端实时查询它

这个解决方案的可扩展性非常好,因为这些服务都是从基础到扩展的!但是,安装成本非常高,如果您不打算扩展到数百万页,那么安装成本就不值得了