【问题标题】:What are special characters supported on the smartsheet api searchsmartsheet api 搜索支持哪些特殊字符
【发布时间】:2019-09-30 15:17:57
【问题描述】:

现在形成我的理解,智能表搜索正在寻找与搜索的术语相似的任何内容。

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

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

它可以返回:

  • 我的见证
  • 测试
  • 我讨厌土豆
  • 还是定期测试

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

  • 完全匹配?
  • 以 ? 开头
  • 以?结尾

【问题讨论】:

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


    【解决方案1】:

    我不确定/search 端点是否像 SQL 查询那样支持特殊字符。但是,支持以下两种情况:

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

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

    下面的两个示例通过搜索如下所示的工作表来演示这些场景中的每一个:

    场景#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“新”存在于所有这些行中。

    {
        "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
    }
    

    【讨论】:

    • 此外,smartsheet API 正在返回与查询相似的结果(但应该存在),有没有办法启用/禁用它?此查询api.smartsheet.com/2.0/search?query=Previoo 正在返回带有“以前的薪酬测试”的结果
    【解决方案2】:

    很遗憾,没有。返回搜索结果后,您需要在本地过滤结果。如果结果太多,请尝试限制搜索范围,例如一次一个工作区,或者只搜索报告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多