Smartsheet API搜索支持哪些特殊字符

时间:2019-09-30 15:17:57

标签: smartsheet-api smartsheet-c#-sdk-v2

现在,根据我的理解,智能表搜索正在寻找与搜索到的词类似的任何内容。

假设我正在寻找“测试”:

https://api.smartsheet.com/2.0/search?query=test

它可以返回:

  • 我的感言
  • 测试
  • 我讨厌土豆
  • 还需要定期测试

是否有特殊字符可以执行更高级的搜索(如类似SQL的查询)?

  • 完全匹配?
  • 以?
  • 开始
  • 结尾于?

2 个答案:

答案 0 :(得分:1)

我不确定/search端点是否以与SQL查询相同的方式支持特殊字符。但是,以下两种情况均受支持:

  • 方案1::查找指定字符串作为单独的单词存在的位置(不区分大小写)

  • 场景2:查找指定字符串作为单独的单词或作为另一个单词的一部分(不区分大小写)存在的地方

下面的两个示例通过搜索看起来像这样的工作表来演示每种情况:

https://github.com/Sarquella/LifecycleCells

方案1:查找指定字符串作为单独的单词存在的位置(不区分大小写)

要查找指定字符串作为单独单词存在的地方,请将该字符串(即query参数的值)用双引号引起来。

API请求:GET https://api.smartsheet.com/2.0/search/sheets/5831916227192708?query="new"

API响应:响应仅包含第2行和第3行的条目-因为单词“ new”(作为单独的单词)仅存在于这两行中。

{
    "results": [
        {
            "text": "New York, NY",
            "objectType": "row",
            "objectId": 5895212085602180,
            "parentObjectType": "sheet",
            "parentObjectId": 5831916227192708,
            "parentObjectName": "SOTest",
            "contextData": [
                "Row 2: Meeting #2"
            ]
        },
        {
            "text": "Scranton, new jersey",
            "objectType": "row",
            "objectId": 3643412271916932,
            "parentObjectType": "sheet",
            "parentObjectId": 5831916227192708,
            "parentObjectName": "SOTest",
            "contextData": [
                "Row 3: Meeting #3"
            ]
        }
    ],
    "totalCount": 2
}

方案2:查找指定字符串作为单独的单词或作为另一个单词的一部分(不区分大小写)的位置

要查找指定的字符串作为单独的单词或作为另一个单词的一部分存在的位置,请勿将该字符串(即query参数的值)括在引号中。

API请求:https://api.smartsheet.com/2.0/search/sheets/5831916227192708?query=new

API响应:响应包含所有5行的条目-因为所有这些行中都存在 string “ new”。

{
    "results": [
        {
            "text": "New York, NY",
            "objectType": "row",
            "objectId": 5895212085602180,
            "parentObjectType": "sheet",
            "parentObjectId": 5831916227192708,
            "parentObjectName": "SOTest",
            "contextData": [
                "Row 2: Meeting #2"
            ]
        },
        {
            "text": "Avonew, MS",
            "objectType": "row",
            "objectId": 6198495731836804,
            "parentObjectType": "sheet",
            "parentObjectId": 5831916227192708,
            "parentObjectName": "SOTest",
            "contextData": [
                "Row 4: Meeting #4"
            ]
        },
        {
            "text": "Newtown, PA",
            "objectType": "row",
            "objectId": 1391612458231684,
            "parentObjectType": "sheet",
            "parentObjectId": 5831916227192708,
            "parentObjectName": "SOTest",
            "contextData": [
                "Row 1: Meeting #1"
            ]
        },
        {
            "text": "Anewston, MI",
            "objectType": "row",
            "objectId": 3946695918151556,
            "parentObjectType": "sheet",
            "parentObjectId": 5831916227192708,
            "parentObjectName": "SOTest",
            "contextData": [
                "Row 5: Meeting #5"
            ]
        },
        {
            "text": "Scranton, new jersey",
            "objectType": "row",
            "objectId": 3643412271916932,
            "parentObjectType": "sheet",
            "parentObjectId": 5831916227192708,
            "parentObjectName": "SOTest",
            "contextData": [
                "Row 3: Meeting #3"
            ]
        }
    ],
    "totalCount": 5
}

答案 1 :(得分:0)

不幸的是,没有。重新获得搜索结果后,您将需要在本地过滤结果。如果结果太多,请尝试限制搜索范围,例如一次只搜索一个工作区,或者仅搜索报告。