【发布时间】:2018-01-08 23:19:13
【问题描述】:
我有一个数据结构,我在其中标记了一组搜索词。
{
id: "some_id",
name: "Bob's diner and eatery",
searchTerms: ["bob", "bobs", "diner", "eatery"]
}
我可以使用以下查询搜索一个词
SELECT VALUE
restaurant
FROM root
restaurant
JOIN
word
IN
restaurant.searchTerms
WHERE
CONTAINS(word, @SearchTerm)
如果我有多个要查找的搜索字词,我将如何进行搜索?如果有多个搜索词,则仅当搜索词包含所有搜索词或部分搜索词时,文档才会匹配。例如,以下将匹配:
["bo", "eat"]
["bobs", "diner"]
但以下不会:
["bobs", "restaurant"]
因为“餐厅”不是匹配的搜索词。
【问题讨论】:
-
也许不是您想要的,但这可以很容易地在运行服务器端的存储过程中实现
-
@JesseCarter 请详细说明。我不会反对存储过程,请做另一个答案。如果这是目前完成此任务的唯一方法,我将有兴趣了解您的方法。
标签: sql substring contains azure-cosmosdb