当我尝试对Mongo数据库运行全文搜索时,收到以下错误。
{"ok":0,"errmsg":"can't find ns"}
我试过在网上找到任何没有运气的ns。我认为它是一个索引问题......
我可以确认我的索引在那里,我甚至可以从Mongo命令行运行全文搜索,它可以工作!只是不通过PHP。
使用textSearchEnabled启动Mongo(版本2.4.5)。 PHP Mongo驱动程序1.4.2
mongod --setParameter textSearchEnabled=true
这是我的代码
$this->mongo_db->_connection->admin->command(
array(
"setParameter" => 1,
"textSearchEnabled" => true
)
);
$this->mongo_db->_connection->aero->https_aero_guides->ensureIndex(
array(
'title' => 'text'
),
array(
'name' => 'title_text',
'weights' => array('title' => 100)
)
);
$results = $this->mongo_db->_connection->aero->command(
array(
'text' => 'https_aero_guides',
'search' => 'hello',
'limit' => 5
)
);
数据库有以下行
[
{ title : "hello" },
{ title : "waynes" },
{ title : "world" }
]
> db.https_aero_guides.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "aero.https_aero_guides",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"ns" : "aero.https_aero_guides",
"name" : "title_text",
"weights" : {
"title" : 100
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 1
}
]
答案 0 :(得分:0)
干杯!