Rumah > Soal Jawab > teks badan
Tulis tugas berjadual untuk bersiap sedia untuk melawat alamat dengan kerap bagi melengkapkan fungsi pemadanan jenama.
Menggunakan segmentasi perkataan yang gagap untuk mengasingkan tajuk produk
Tiada masalah berjalan secara tempatan. Apabila berjalan dalam talian, jika hanya satu produk ditemui, tidak ada masalah. Berbilang entri secara automatik akan melompat ke "ERROR_PAGE" dalam fail konfigurasi Tiada rekod dalam fail Log. Sekarang saya tidak tahu bagaimana untuk menyemak punca masalah ini dan tidak dapat mencari penyelesaian.
Ia sepatutnya masalah yang disebabkan oleh gelung, tetapi saya tidak tahu di mana masalahnya?
Dilampirkan kod yang berkaitan:
$quan_lists = M("Quan")->field('id,title')->where(array("fromtype" => array("gt", 0),"addtime" => array("gt", $limit_time)))->limit(20)->order("id desc")->select();
$productLogic = tkD("Product", "Logic");
$searchLogic = tkD('Search', 'Logic');
if(!empty($quan_lists)) {
foreach($quan_lists as $quan) {
//分词结果
$aTags = $productLogic->jieba($quan['title']);
if (empty($aTags)) {
continue;
}
$like_zh_map = $like_en_map = $condition = $map = array();
foreach($aTags as $tag) {
if(preg_match("/^[0-9a-zA-Z\s]+$/", $tag)) {
$like_en_map[] = "{$tag}%";
} else {
$like_zh_map[] = "{$tag}%";
}
}
if(count($like_zh_map) > 0) {
$condition['zh_name'] = array('like', $like_zh_map, 'OR');
}
if(count($like_en_map) > 0) {
$condition['en_name'] = array('like', $like_en_map, 'OR');
}
if(count($like_zh_map) > 0 && count($like_en_map) > 0) {
$condition['_logic'] = 'or';
}
$map['_complex'] = $condition;
$map['status'] = 1;
$aDatas = M('Brand')->field('id,zh_name,en_name')->where($map)->find();
if(empty($aDatas)) {
continue;
} else {
M("Quan")->where(array("id" => $quan['id']))->save(array("brand_id" => intval($aDatas["id"])));
$searchLogic->searchupdate(2, $quan['id']); //更新搜索引擎
}
}
}
public function jieba($title)
{
if (empty($title)) {
return false;
}
ini_set('memory_limit', '200M');//吃内存
import('Vendor/jieba/src/vendor/multi-array/MultiArray', '', '.php');
import('Vendor/jieba/src/vendor/multi-array/Factory/MultiArrayFactory', '', '.php');
import('Vendor/jieba/src/class/Jieba', '', '.php');
import('Vendor/jieba/src/class/Finalseg', '', '.php');
\Fukuball\Jieba\Jieba::init(array('dict' => 'small'));
\Fukuball\Jieba\Finalseg::init();
$aSeglist = \Fukuball\Jieba\Jieba::cut($title, false);
if ($aSeglist) {
$aTags = array();
foreach ($aSeglist as $str) {
if (is_numeric($str)) {
continue;
} elseif (mb_strlen($str, 'utf8') < 2) {
continue;
} else {
$aTags[] = $str;
}
}
return $aTags;
} else {
return false;
}
}
漂亮男人2017-06-21 10:13:03
Apabila membahagikan perkataan: ini_set('memory_limit', '200M')
Kod ini nampaknya mempunyai beberapa masalah