今天旗下的http://www.anetb.com需要一个支持中文分词的搜索页,原drupal的太烂了,
我的做法是:结合xunsearch实现drupal commerce下的中文搜索
drupal.org官网的sandbox:
https://drupal.org/sandbox/haojiang/2226967
drupal.org官网模块fullproject,正在申请:https://drupal.org/node/2234637
申请进度,要将这个列表处理完:http://pareview.sh/pareview/httpgitdrupalorgsandboxhaojiang2226967git
[drupal 7 私有模块下载页及测试页:]
我暂时没有做更详细的后台设置界面,目前正在努力完善search_api版
(1)search_api版:
有默认的search_api的管理界面,能实现清空、重建索引、创建字段索引,方便管理!
支持search_api的所有功能,能快速用代码定制,默认安装后支持“文章类型”的字段索引(facet功能)
也可以联系我帮你定制,例如分类、特定的CCK字段等(或者你看下面的开发过程,查看手动定制的方法)
http://drupalcode.org/sandbox/haojiang/2226967.git/tree
search_api版下载:
http://www.trackself.com/wp-content/xunsearch.zip
(尽量用下面的git下载最新版)
测试地址:http://xs.trackself.com/?q=testxunsearch&search_api_views_fulltext=1
开发过程:search api 开发与 xunsearch第三方搜索引擎结合
git repository:
http://git.drupal.org/sandbox/haojiang/2226967.git ```(尽量用git下载最新版)
OR
git clone –branch 7.x-1.x YOURNAME-IN-DRUPAL.ORG@git.drupal.org:sandbox/haojiang/2226967.git xunsearch
(2)hook_node版:
已经完善,估计没什么好改的了,但功能一般般,不支持facet,仅支持全文搜索:
hook版下载:```http://www.trackself.com/wp-content/xunsearch-d7-commerce.tar``` ,
测试页: 可输入“奶粉”,我的站准备做这个,暂时数据还不多
测试页 :www.anetb.com/search/粉
[介绍]
xunsearch是一个不可多得的中文分词搜索引擎,安装简单、功能强大,是目前我测试过的几个搜索引擎中最好用的。
国外站做搜索,中文分词是一个严重的问题
说实话,用drupal很久了,drupal的大缺憾之一,也是搜索,接过很多商业站的单子,客户抱怨也在这里,英文还好,中文就是……
apache solr很烂,而且安装不是一般的复杂,我安装了N次,放弃!而且听说中文分词不是一般的复杂。
而模认的drupal search ,或者说commerce安装包自带的搜索也不咋的!
相对而言,xunsearch做得很好很强大,可惜的地方是xunsearch没有现成的drupal模块,
[安装xunsearch:]
1.安装xunsearch,不是一般的简单,会linux的就能安装成功
按着官网的```http://www.xunsearch.com/doc/php/guide/start.installation``` 一步步做就是了
2.建立一个xunsearch的搜索数据库
直接复制官网的demo.ini数据库到同名目录,
centos 6默认安装后demo.ini在```/usr/local/xunsearch/sdk/php/app/```
直接复制demo.ini 为*.ini,上面的search_api版用d7.ini , hook_node版用commerce.ini版
下载文件中均有示例。
[search_api版的安装过程: ]
按search_api的标准做法啦,search_api创建搜索页,下面有个视频教程
http://prezi.com/usetpzmi1gk8/search-api-facet-api-panopoly-on-drupal-7/
即用views来做搜索,对views熟的话,很容易搞定,不熟的话看看上述的视频借鉴一下。
即首先建立searver让drupal认出xunseach,然后建立索引
然后建立views\block,或者用panel实现
下文是一个用panel实现的办法,用于普通的search_api的,完全适用于本文,将文中的server改成xunsearch即可
[hook_node版的安装过程: ]
直接安装好可,关键是上述xunseach安装要做好,ini文件名就得叫commerce,或者你自己改*.module将ini文件对应起来。
我暂时没有做后台管理界面
上述的压缩包内的tsearch文件夹是drupal 7 模块,可以放在sites/all/modules下
import.php : 批量导入现有的drupal nodes , 建议放在/demo/文件夹下,否则可能要改改第一行,这个文件最有用了,帮助你把旧的node、product全部导入xunsearch,马上就能搜索了
clear.php : 批量导入现有的drupal nodes , 建议放在/demo/文件夹下,否则可能要改改第一行
search.php : 将搜索变为数据,方便我们调回drupal
安装模块后,直接就能用在drupal 7 + commerce上了
如果你不运行import.php的话,那么必须是新的node才有效!
[深圳drupal meetup上展示该模块的细节]
.依赖的模块:```facet\views\search_api……```
.安装、配置,依赖VIEWS
/usr/local/xunsearch/sdk/php/lib/XS.php
vi /usr/local/xunsearch/sdk/php/app/d7.ini
drush dis -y xunsearch && drush pm-uninstall -y xunsearch && drush en xunsearch -y
(searchApi的安装配置:http://prezi.com/usetpzmi1gk8/search-api-facet-api-panopoly-on-drupal-7/)
.延时的问题,大约10~15秒
.分词不完美的解决
.bugs needs to be fixed
.开发细节略带一提
[后续工作]
我最近正在为这个模块制作管理界面,因为手头上正好有个commerce 大项目,所以上述两版本均会直接支持commerce
未来我会更新代码,详细请看下面的连接
http://www.trackself.com/archives/2539.html
```有什么问题请到我博客留言或者加我们的群
good luck
更多drupal anywhere文章请看:drupal anywhere,drupal 6~8 快速上手文章总结
QQ群:227600605
关于drupal anywhere \ drupal commerce\ drupal crawler cms
email:lihaojiang_1@163.com buy me a coffee:http://me.alipay.com/trackself