如何在mongo中启用文本搜索?

时间:2014-05-13 06:23:18

标签: mongodb pymongo

我尝试了很多东西..

# in replica set configuration, specify the name of the replica set
# replSet = setname
setParameter=textSearchEnabled=true

这是配置文件的一部分。设置此项后仍未启用文本搜索。

使用pymongo进行文本搜索  这是我的代码

db.command("text", 'tracks' ,search=request.POST['content_search'], limit = 12)['results']]

我的mongo版本是2.4.10。请指导我。

这是追溯

Traceback (most recent call last):
  File "/home/nidhin/social-media-widget/env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 114, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/nidhin/social-media-widget/env/local/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 57, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/nidhin/social-media-widget/socialmedia/widget/views.py", line 84, in monitor
    data = [i['obj'] for i in db.command("text", 'tracks' ,search=request.POST['content_search'], filter = test_data, limit = 12)['results']]
  File "/home/nidhin/social-media-widget/env/local/lib/python2.7/site-packages/pymongo/database.py", line 435, in command
    uuid_subtype, compile_re, **kwargs)[0]
  File "/home/nidhin/social-media-widget/env/local/lib/python2.7/site-packages/pymongo/database.py", line 341, in _command
    msg, allowable_errors)
  File "/home/nidhin/social-media-widget/env/local/lib/python2.7/site-packages/pymongo/helpers.py", line 178, in _check_command_response
    raise OperationFailure(msg % errmsg, code, response)
OperationFailure: command SON([('text', 'tracks'), ('filter', {'publisher_desc': u'Blogs'}), ('search', u'box'), ('limit', 12)]) failed: text search not enabled

1 个答案:

答案 0 :(得分:4)

将此行添加到配置文件应该有效:

setParameter=textSearchEnabled=true

你如何启动mongdb?

修改 我建议你检查一下:

  • 你有mongodb从这个配置开始。 您可以通过在MongoDb shell中调用db.runCommand(“getCmdLineOpts”)来检查它
  • 通过MongoDb Shell db.runCommand({getParameter:1,textSearchEnabled:1})返回textSearchEnabled:true