Json 全文索引在cloudant中不起作用
全文索引搜索功能在cloudant中不起作用 文件1:Json 全文索引在cloudant中不起作用,json,lucene,couchdb,cloudant,Json,Lucene,Couchdb,Cloudant,全文索引搜索功能在cloudant中不起作用 文件1: { "_id": "527c8d9327c6f27f17df0d2e17000530", "_rev": "9-4a61c6dac8d03a7d55696c3dde6a4f50", "employee_ID": "SCI130202", "proj_role": "Team Member", "work_total_experience": "4", } 文件2: { "_id": "527c8d9327c6f2
{
"_id": "527c8d9327c6f27f17df0d2e17000530",
"_rev": "9-4a61c6dac8d03a7d55696c3dde6a4f50",
"employee_ID": "SCI130202",
"proj_role": "Team Member",
"work_total_experience": "4",
}
文件2:
{
"_id": "527c8d9327c6f27f17df0d2e17000531",
"_rev": "9-4a61c6dac8d03a7d55696c3dd46a4f50",
"employee_ID": "SCI130201",
"proj_role": "developer",
"work_total_experience": "2",
}
索引函数:
{
"_id": "_design/search_emp",
"_rev": "3-4562324d684a2f13d2a1f6f570736e7e",
"views": {},
"language": "javascript",
"indexes": {
"by_employee": {
"analyzer": "standard",
"index": "function(doc){index(doc.proj_role,{'field':'project_role'})index(doc.work_total_experience,{'field':'work_experience'})}"
}}}
如果我传入URL,比如:https://{username}.cloudant.com/databasename/\u design/search\u emp/\u search/by\u employee?q=project\u角色:开发者和工作经验:2
这只适用于一个条件,但我需要获得具有2年经验的确切输出开发人员详细信息。因此这里有两个问题,一个是如何定义索引,另一个是如何查询索引
index(doc.proj_角色,{'field':'project_角色'})代码>但我不确定这是正确的语法;我相信你想要:索引(“project\u role”,doc.proj\u role)代码>
和应该是和:q=project\u角色:开发者和工作经验:2
{
"doc": {
"_id": "_design/search_emp",
"_rev": "17-e7f119c21ca21cc6ac44c5a967cd5550",
"indexes": {
"by_employee": {
"analyzer": "standard",
"index": "function(doc) {\n index('project_role', doc.proj_role, {});\n index('work_experience', doc.work_total_experience, {});\n}"
}
},
"language": "javascript",
"views": {}
},
"id": "_design/search_emp",
"key": "_design/search_emp",
"value": {
"rev": "17-e7f119c21ca21cc6ac44c5a967cd5550"
}
}
网址:
https://username.cloudant.com/databasename/_design/search_emp/_search/by_employee?include_docs=true&q=work_experience:%222%22%20AND%20project_role:developer
注意:我必须在经验值周围加上双引号<代码>工作经验:“2”对我有效,但工作经验:2
无效
答复如下:
{
"bookmark": "g2wAAAABaANkABxkYmNvcmVAZGIyLm1lYWQuY2xvdWRhbnQubmV0bAAAAAJiQAAAAGJ_____amgCRj_bxezgAAAAYQBq",
"rows": [
{
"doc": {
"_id": "90958a20a020a7483d3311a156fcf571",
"_rev": "1-795df1c239d3d029eaa6d8c45ef70a8c",
"employee_ID": "SCI130201",
"proj_role": "developer",
"work_total_experience": "2"
},
"fields": {},
"id": "90958a20a020a7483d3311a156fcf571",
"order": [
0.4339554011821747,
0
]
}
],
"total_rows": 1
}
您可以发布一个您试图搜索的数据库中的文档的示例吗?上面提到的两个示例json文档。但我的预期输出是具有2年经验的开发人员。我尝试了上述方法。我得到了结果,但无法得到准确的结果。条件不起作用,并且起作用。刚刚尝试了交互式示例:我可以在其中搜索,例如
类:鸟类和饮食:食肉动物