Facets模块依赖search api模块和后台搜索服务,因此还需要安装和配套这些相应的模块和服务。在龙马的推荐下大伟哥选择了国产的迅搜(xunsearch)作为后端搜索服务,原因是它安装配置简单而中文分词功能又强大。
xunsearch的服务安装过程有点小插曲,不过Drupal的模块安装倒是很简单:
composer require drupal/search_api composer require drupal/search_api_xunsearch
接下来我们要配置Search API,先来添加搜索服务器(Add Server)。路径:管理-配置-搜索及元数据-Search API,点击Add Server。
以下是需要填写配置的内容:
Server name:随便填,好记就行。
启用:选中。只有启用的服务器才能索引并执行搜索。
说明:随便填。
backend:我们只安装了迅搜,只能选择Xunsearch。
Xunsearch server host:xunsearch服务是本机安装,默认localhost
indexd port:索引端口,默认8383
searchd port:搜索端口,默认8384
INI file path:用于存放搜索项目的.ini文件路径,一般是$prefix/sdk/php/app,大伟哥这里是/var/www/xunsearch/sdk/php/app。
Xunsearch PHP SDK path:这里是xunsearch的SDK的路径,路径是$prefix/sdk/php,大伟哥这里是/var/www/xunsearch/sdk/php。
填写完以后就可以保存了,如果有错误会提示你的。
再来添加搜索索引(Add Index)。路径:路径:管理-配置-搜索及元数据-Search API,点击Add index。
在此处大伟哥遇到了问题,不管怎么配置,都无法正常保存。每次都是一保存,Drupal索尝试建立索引,然后网页提示“网站遇到了不可预知的错误。请稍后再试。”,而Apache日志显示“Uncaught PHP Exception XSException: "Missing field of type ID" at /var/www/xunsearch/sdk/php/lib/XS.php line 849, referer: http://www.canyinqiao.devel/admin/config/search/search-api”。
多次努力找不到解决方法,只能暂时放弃在Drupal网站上使用Xunsearch了。如果有朋友成功使用迅搜,请联系大伟哥指点一下,谢谢!
- 添加新评论
- 176 阅读
评论
您好!也是这个错误,您解决了吗? XSException…
您好lee,还没解决,我现在没用xunsearch了。
您好lee,还没解决,我现在没用xunsearch了。
您现在用的中文搜索是怎么实现的?
还是用的drupal默认搜索
还是用的drupal默认搜索
添加新评论