使用AQL和python在arangodb中搜索全文

时间:2015-11-10 11:36:03

标签: python full-text-search arangodb aql

我已按以下格式将数据存储在arangodb中:

{"data": [
{
  "content": "maindb",
  "type": "string",
  "name": "db_name",
  "key": "1745085839"
},
{
  "type": "id",
  "name": "rel",
  "content": "1745085840",
  "key": "1745085839"
},
{
  "content": "user",
  "type": "string",
  "name": "rel_name",
  "key": "1745085840"
},
{
  "type": "id",
  "name": "tuple",
  "content": "174508584001",
  "key": "1745085840"
},
{
  "type": "id",
  "name": "tuple",
  "content": "174508584002",
  "key": "1745085840"
},
{
  "type": "id",
  "name": "tuple",
  "content": "174508584003",
  "key": "1745085840"
},
{
  "type": "id",
  "name": "tuple",
  "content": "174508584004",
  "key": "1745085840"
},
{
  "type": "id",
  "name": "tuple",
  "content": "174508584005",
  "key": "1745085840"
},
{
  "type": "id",
  "name": "tuple",
  "content": "174508584006",
  "key": "1745085840"
},
{
  "type": "id",
  "name": "tuple",
  "content": "174508584007",
  "key": "1745085840"
},
{
  "content": "dspclient",
  "type": "varchar",
  "name": "username",
  "key": "174508584001"
},
{
  "content": "12345",
  "type": "varchar",
  "name": "password",
  "key": "174508584001"
},
{
  "content": "12345",
  "type": "varchar",
  "name": "cpassword",
  "key": "174508584001"
},
{
  "content": "n",
  "type": "varchar",
  "name": "PostgreSQL",
  "key": "174508584001"
},
{
  "content": "n",
  "name": "IBMDB2",
  "type": "varchar",
  "key": "174508584001"
},
{
  "content": "n",
  "name": "MySQL",
  "type": "varchar",
  "key": "174508584001"
},
{
  "content": "n",
  "type": "varchar",
  "name": "SQLServer",
  "key": "174508584001"
},
{
  "content": "n",
  "name": "Hadoop",
  "type": "varchar",
  "key": "174508584001"
},
{
  "content": "None",
  "name": "dir1",
  "type": "varchar",
  "key": "174508584001"
},
{
  "content": "None",
  "name": "dir2",
  "type": "varchar",
  "key": "174508584001"
},
{
  "content": "None",
  "name": "dir3",
  "type": "varchar",
  "key": "174508584001"
},
{
  "content": "None",
  "name": "dir4",
  "type": "varchar",
  "key": "174508584001"
},
{
  "type": "inet",
  "name": "ipaddr",
  "content": "1921680103",
  "key": "174508584001"
},
{
  "content": "y",
  "name": "status",
  "type": "varchar",
  "key": "174508584001"
},
{
  "content": "None",
  "type": "varchar",
  "name": "logintime",
  "key": "174508584001"
},
{
  "content": "None",
  "type": "varchar",
  "name": "logindate",
  "key": "174508584001"
},
{
  "content": "None",
  "type": "varchar",
  "name": "logouttime",
  "key": "174508584001"
},
{
  "content": "client",
  "type": "varchar",
  "name": "user_type",
  "key": "174508584001"
},
{
  "content": "royal",
  "type": "varchar",
  "name": "username",
  "key": "174508584002"
},
{
  "content": "12345",
  "type": "varchar",
  "name": "password",
  "key": "174508584002"
},
{
  "content": "12345",
  "type": "varchar",
  "name": "cpassword",
  "key": "174508584002"
},
{
  "content": "n",
  "type": "varchar",
  "name": "PostgreSQL",
  "key": "174508584002"
},
{
  "content": "n",
  "name": "IBMDB2",
  "type": "varchar",
  "key": "174508584002"
},
{
  "content": "n",
  "name": "MySQL",
  "type": "varchar",
  "key": "174508584002"
},
{
  "content": "n",
  "type": "varchar",
  "name": "SQLServer",
  "key": "174508584002"
},
{
  "content": "n",
  "name": "Hadoop",
  "type": "varchar",
  "key": "174508584002"
},
{
  "content": "None",
  "name": "dir1",
  "type": "varchar",
  "key": "174508584002"
},
{
  "content": "None",
  "name": "dir2",
  "type": "varchar",
  "key": "174508584002"
},
{
  "content": "None",
  "name": "dir3",
  "type": "varchar",
  "key": "174508584002"
},
{
  "content": "None",
  "name": "dir4",
  "type": "varchar",
  "key": "174508584002"
},
{
  "type": "inet",
  "name": "ipaddr",
  "content": "1921680105",
  "key": "174508584002"
},
{
  "content": "y",
  "name": "status",
  "type": "varchar",
  "key": "174508584002"
},
{
  "content": "190835899000",
  "type": "varchar",
  "name": "logintime",
  "key": "174508584002"
},
{
  "content": "20151002",
  "type": "varchar",
  "name": "logindate",
  "key": "174508584002"
},
{
  "content": "None",
  "type": "varchar",
  "name": "logouttime",
  "key": "174508584002"
},
{
  "content": "client",
  "type": "varchar",
  "name": "user_type",
  "key": "174508584002"
},
{
  "content": "abc",
  "type": "varchar",
  "name": "username",
  "key": "174508584003"
},
{
  "content": "12345",
  "type": "varchar",
  "name": "password",
  "key": "174508584003"
},
{
  "content": "12345",
  "type": "varchar",
  "name": "cpassword",
  "key": "174508584003"
},
{
  "content": "n",
  "type": "varchar",
  "name": "PostgreSQL",
  "key": "174508584003"
},
{
  "content": "n",
  "name": "IBMDB2",
  "type": "varchar",
  "key": "174508584003"
}]}

为了执行全文搜索,我使用python脚本中的语法在content属性上创建了一个索引:

c.DSP.ensureFulltextIndex("content");

其中,c是数据库,DSP是集合名称。现在,我正尝试使用以下语法在上述数据集中执行搜索操作:

FOR doc IN FULLTEXT(DSP, "content", "username") RETURN doc

然后,出现错误:

[1571] in function 'FULLTEXT()': no suitable fulltext index found for fulltext query on 'DSP' (while executing)

请告诉我这个问题,并告诉我在使用python脚本尝试此查询时的语法是什么。

...谢谢

0 个答案:

没有答案