询问中文搜索引擎coreseek(sphinx)配置 oracle odbc数据源配置问题

时间:2021-08-27 08:22:20
环境 win7+oracle 11+php,目的从oracle数据库中中文检索
1、检索不出内容 不知道哪里出错了
2、oracle 的odbc配置是否正确
3、待会把相关配置以及dos命令显示结果贴出了

希望各位大大指导!!坐等!!

7 个解决方案

#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 avg

D:\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 avg

D:\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


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

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

#5


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

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

#6


searchd 服务开了?

#7


关注 询问中文搜索引擎coreseek(sphinx)配置 oracle odbc数据源配置问题

#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 avg

D:\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 avg

D:\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


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

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

#5


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

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

#6


searchd 服务开了?

#7


关注 询问中文搜索引擎coreseek(sphinx)配置 oracle odbc数据源配置问题