gpt4 book ai didi

cloudant 在文档子组中进行全文搜索

转载 作者:行者123 更新时间:2023-12-03 06:40:12 26 4
gpt4 key购买 nike

我正在使用 Cloudant 构建一个消息传递系统,由“消息”和“成员(member)”文档组成:

消息文档:

{"_id":"1","type"="message","group":"a","text":"this is message 1"},
{"_id":"2","type"="message","group":"a","text":"this is message 2"},
{"_id":"3","type"="message","group":"b","text":"this is message 3"},
...

成员(member)文件:

{"_id":"a","type"="membership","user":"joe","group":"a"},
{"_id":"b","type"="membership","user":"bob","group":"a"},
{"_id":"c","type"="membership","user":"bob","group":"b"},
...

每条消息都与一个组关联。一个用户可能拥有数百个不同组的成员资格。

我想代表特定用户对消息文本执行全文搜索。该应用程序要求用户不得看到来自他们不属于的组的消息。

如何进行全文搜索以仅返回来自特定用户所属组的消息?

最佳答案

您可以尝试通过创建智能搜索字符串来做到这一点。要进行此设置,当您编写搜索索引函数时,请为消息组以及消息文本建立索引。例如:

function(doc){
index("group", doc.group);
index("text", doc.text);
}

然后,查询该索引时,使用 lucene syntax构建包含所有用户成员资格的搜索字符串。

(group:a or group:b or group:c or ...) and text:"search string goes here"

关于cloudant 在文档子组中进行全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18585689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com