我修改了config->xunsearch->search.ini 然后重新跑了sh fullSearchSync.sh 但是配置没有生效 是否需要其他配置或者进行什么操作
1.修改了什么内容?什么配置没有生效?发帖应该把这些信息也贴上来。
2.配置文件:https://github.com/fecshop/yii2_fecshop/blob/master/config/xunsearch/search.ini
3.在文件:https://github.com/fecshop/yii2_fecshop/tree/master/shell/search 下面还有一个 deleteXunSearchAllData.sh
你执行下 sh deleteXunSearchAllData.sh 试试 , 然后重新执行 fullSearchSync.sh
sh deleteXunSearchAllData.sh
fullSearchSync.sh
执行 sh deleteXunSearchAllData.sh 会执行下面这个函数
https://github.com/fecshop/yii2_fecshop/blob/master/services/search/XunSearch.php
/** * 删除在xunSearch的所有搜索数据, * 当您的产品有很多产品被删除了,但是在xunsearch 存在某些异常没有被删除 * 您希望也被删除掉,那么,你可以通过这种方式批量删除掉产品 * 然后重新跑一边同步脚本. */ protected function actionXunDeleteAllProduct($numPerPage, $i) { //var_dump($index); $dbName = $this->_searchModel->projectName(); // 删除索引 Yii::$app->xunsearch->getDatabase($dbName)->getIndex()->clean(); //$index = Yii::$app->xunsearch->getDatabase($dbName)->index; echo "begin delete Xun Search Date \n"; $nowTimeStamp = (int) $nowTimeStamp; $XunSearchData = $this->_searchModel->find() ->limit($numPerPage) ->offset(($i - 1) * $numPerPage) ->all(); foreach ($XunSearchData as $one) { $one->delete(); } }
[name] type = title tokenizer=xlen(1) 我在name属性下加了一个这个分词属性 然后搜索内容就搜不出来了 我试了执行sh deleteXunSearchAllData.sh和fullSearchSync.sh 还是不行
@CrazyAllen #3楼
1.使用的sdk是:https://github.com/hightman/xs-sdk-php
2.xunsearch github:https://github.com/hightman/xunsearch
你看一下这里,在github上面提交issue,看看能否得到帮助。
看论坛的资料,好像你这样是不能用的:
http://bbs.xunsearch.com/showthread.php?tid=63
貌似这个人实现了:http://bbs.xunsearch.com/showthread.php?tid=2350
你试试这个,关于如何使用xunsearch的自定义分词器:http://www.xunsearch.com/doc/php/guide/ini.tokenizer
他里面有一句话是:则您要编写的代码 文件为 XSTokenizerXyz.class.php,请将文件统一放入 $prefix/sdk/php/lib 目录下, $prefix/sdk/php/lib就是fecshop的文件路径: vendor/highman/xunsearch/lib/
XSTokenizerXyz.class.php
$prefix/sdk/php/lib
vendor/highman/xunsearch/lib/
你先试试可行不? 如果可以的话反馈下,改天我试试这个。