解决方案 »

  1.   

    coreseek-4.1版本
    oracle csft_odbc.conf 主要如下#源定义
    source odbc
    {
        type                     = odbc
        sql_host               = localhost
        sql_user               = scott
        sql_pass               = 123456
        sql_db                  = EXAMPLES
        odbc_dsn  = DSN=EXAMPLES;Driver={Oracle in raDb11g_home1};Uid=scott;Pwd=123456    #odbc_dsn = Driver={Oracle ODBC Driver};Dbq=myDBName;Uid=myUsername;Pwd=myPassword
        sql_port                = 1521
        #sql_query_pre           = SET NAMES utf8(这一句oracle中好像不行)   sql_query               = SELECT ID, CONTENT, TITLE FROM THINK_INFOCONTENT                                                              #sql_query第一列id需为整数
                                                                  #title、content作为字符串/文本字段,被全文索引
        #sql_attr_uint          = ID           #从SQL读取到的值必须为整数
        #sql_attr_timestamp     = date_added #从SQL读取到的值必须为整数,作为时间属性    #sql_query_info_pre      = SET NAMES utf8                                        #命令行查询时,设置正确的字符集
    #oracle下 这个指令是不行的,mysql下可以    
       sql_query_info          = SELECT * FROM THINK_INFOCONTENT WHERE ID=$ID 
        #命令行查询时,从数据库读取原始数据信息
    }#index定义
    index odbc
    {
        source            = odbc             #对应的source名称
      path              = D:/wamp/www/coreseek/var/data/odbc    
        docinfo           = extern
        mlock             = 0
        morphology        = none
        min_word_len      = 1
        html_strip        = 0    #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
      charset_dictpath  = D:/wamp/www/coreseek/etc/                                  
        charset_type      = zh_cn.utf-8
    }其中odbc_dsn = DSN=EXAMPLES;Driver={Oracle in OraDb11g_home1};Uid=scott;Pwd=hfut1234(本文配置)这个配置是正确的吗官网是给这样的odbc_dsn = DSN=ODBC连接名;Driver=ODBC驱动;Uid=sqluser;Pwd=XXXXXXXXXXXX
    手册上是这样的 给出建议的(http://www.coreseek.cn/docs/coreseek_4.1-sphinx_2.0.1-beta.html#conf-odbc-dsn)
    要连接的ODBC DSN。必须选项,没有默认值。仅适用于odbc数据源。 
    DBC DSN(数据源名字,Data Source Name)指定了连接ODBC数据源时使用的认证选项(主机地址,用户名,密码等)。具体的格式与ODBC的具体驱动有关。 
    示例:
    odbc_dsn = Driver={Oracle ODBC Driver};Dbq=myDBName;Uid=myUsername;Pwd=myPassword
      

  2.   

    还有几个命令之后
    D:\wamp\www\coreseek>bin\indexer.exe -c etc\csft_odbc.confCoreseek Fulltext 4.1 [ Sphinx 2.0.2-dev (r2922)]
    Copyright (c) 2007-2011,
    Beijing Choice Software Technologies Inc (http://www.coreseek.com)ERROR: nothing to do.D:\wamp\www\coreseek>bin\indexer.exe -c etc\csft_odbc.conf --allCoreseek Fulltext 4.1 [ Sphinx 2.0.2-dev (r2922)]
    Copyright (c) 2007-2011,
    Beijing Choice Software Technologies Inc (http://www.coreseek.com)using config file 'etc\csft_odbc.conf'...
    indexing index 'odbc'...
    WARNING: Attribute count is 0: switching to none docinfo
    collected 14 docs, 0.1 MB
    sorted 0.0 Mhits, 100.0% done
    total 14 docs, 100887 bytes
    total 0.576 sec, 174918 bytes/sec, 24.27 docs/sec
    total 1 reads, 0.000 sec, 3.6 kb/call avg, 0.0 msec/call avg
    total 6 writes, 0.000 sec, 1.3 kb/call avg, 0.1 msec/call avgD:\wamp\www\coreseek>bin\indexer.exe -c etc\csft_odbc.conf odbcCoreseek Fulltext 4.1 [ Sphinx 2.0.2-dev (r2922)]
    Copyright (c) 2007-2011,
    Beijing Choice Software Technologies Inc (http://www.coreseek.com)using config file 'etc\csft_odbc.conf'...
    indexing index 'odbc'...
    WARNING: Attribute count is 0: switching to none docinfo
    collected 14 docs, 0.1 MB
    sorted 0.0 Mhits, 100.0% done
    total 14 docs, 100887 bytes
    total 1.592 sec, 63342 bytes/sec, 8.78 docs/sec
    total 1 reads, 0.000 sec, 3.6 kb/call avg, 0.0 msec/call avg
    total 6 writes, 0.000 sec, 1.3 kb/call avg, 0.0 msec/call avgD:\wamp\www\coreseek>bin\search.exe -c etc\csft_odbc.confCoreseek Fulltext 4.1 [ Sphinx 2.0.2-dev (r2922)]
    Copyright (c) 2007-2011,
    Beijing Choice Software Technologies Inc (http://www.coreseek.com)using config file 'etc\csft_odbc.conf'...
    index 'odbc': search error: .(这里出错的意思是指??)
      

  3.   

    你用PLSQL可以查询出数据吗?
    如果PLSQL可以查询出来那是你访问Oracle的时候有问题了。
    如果没有出数据。那你应该知道怎么做了。。
      

  4.   

    plsql没问题的 coreseek 建成的索引后 查询不到信息。估计配置出问题 手册等等看了好几遍 也不知道出错在哪
      

  5.   

    coreseek从oracle数据建成的索引时在自己的数据中 在不更新索引时 是不需要再访问oracle