1,按地区搜索用户时,用户地址信息按地区代码保存,就是要按地区代码如何检索。
2,用户信息用coreseek生成检索文件用coreseek去检索可不可以实现?
3, 多条件怎么做呢,如按姓别,年龄,学校等去搜索。目的是避开数据库,增加性能并且实现此功能。

解决方案 »

  1.   

    coreseek就是sphinx的中国改进版,默认就能中文分词。
    操作是很简单的,我昨天还把rabbitMQ和sphinx玩一遍,在sphinx配置文件里写好数据源和数据源拉数据的sql语句,再写一下索引里需要哪些表字段,将来编程可以方便的filter和group匹配。sphinx的test目录下有php api脚本和两个test脚本,php.net也有sphinx的接口描述,比较简单明了。
      

  2.   

    coreseek怎么按地区范围从大到小检索
      

  3.   

    这种查询非常简单,给你个例子参考:加入要查询的条件是这样user_list.html<form method='post' action='search.php'>
    <TABLE>
      <TBODY>
      <TR>
        <TD>筛选数据:</TD>
        <TD>用户编号<INPUT class="textbox" name="user_id" style="WIDTH: 80px" maxLength=50></TD>
        <TD>用户名<INPUT class="textbox" name="user_name" style="WIDTH: 80px" maxLength=50 ></TD>
        <TD>性别
          <select name="user_sex">
    <option value="" selected="selected">请选择</option>
    <option value="1">男</option>
    <option value="0">女</option>
          </select></TD>
       <TD>等级
          <select name="grade">
    <option value="" selected="selected">请选择</option>
    <option value="LV1">LV1</option>
    <option value="LV2">LV2</option>
    <option value="LV3">LV3</option>
          </select></TD>
       <TD>禁用
         <select name="disable">
    <option value="" selected="selected">请选择</option>
    <option value="0">否</option>
    <option value="1">是</option>
         </select></TD>
       <TD><INPUT type="submit" name="submit" value="搜索"></TD>  
    </TR>
    </TBODY>  
    </TABLE>
    </form>
    下面是search.php页面://包含连接数据库的文件 自己写吧$sql="";  //用来存放条件if($_REQUEST['user_id'] !="" ){        //判断
        $user_id=$_REQUEST['user_id'];    
        $sql="user_id=".$user_id;
    }else{
        $user_id="";
    }if($_REQUEST['user_name'] !="" ){
        $user_name=$_REQUEST['user_name'];
    if ($sql !="") {                       //这是判断第一个是否为空 下面每句都有
    $sql=$sql." and "."user_name like'%".$user_name."%'";      
         } else {
      $sql=$sql."user_name like '%".$user_name."%'";
     }
    }else{
        $user_name="";
    }if($_REQUEST['user_sex'] !="" ){
        $user_sex=$_REQUEST['user_sex'];
    if ($sql !="") {
        $sql=$sql." and "."user_sex=".$user_sex;
        } else {
        $sql=$sql."user_sex=".$user_sex;
    }
    }else{
        $user_sex="";
    }if($_REQUEST['grade'] !="" ){
        $grade=$_REQUEST['grade'];
    if ($sql !="") {
        $sql=$sql." and "."grade like '%".$grade."%'";
        } else {
        $sql=$sql."grade like '%".$grade."%'";
    }
    }else{
        $grade="";
    }if($_REQUEST['disable'] !="" ){
        $disable=$_REQUEST['disable'];
    if ($sql !="") {
        $sql=$sql." and "."disable=".$disable;
        } else {
        $sql=$sql."disable=".$disable;    //到这 $sql就确定了
    }
    }else{
        $disable="";
    }$sql2="select * from 表名 where ".$sql;  //对 没错 $sql里盛放的就是条件 到这查询的语句就确定了
                              // 下面根据伱用的数据库 执行 结果就出来了