如何在天蓝色搜索中使用自定义分析器来获得部分文本搜索?

时间:2019-04-19 09:22:01

标签: c# azure-cosmosdb azure-search

我是Microsoft Azure的新手。我想知道如何进行部分文本搜索。我创建了azure cosmosdb,并通过c#将一些文档添加到数据库中(要将文档插入cosmosdb中,我按照给定链接中的示例进行操作: https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-get-started),我创建了天蓝色搜索资源,将数据从cosmosdb导入到天蓝色搜索中创建的索引。我正在获取全文搜索示例的结果。

query:
https://mysource.search.windows.net/indexes/documentdb-index/docs?api-version=2017-11-11&count=true&search=madhu  
Result:
  {
    "@odata.context": "https://mysource.search.windows.net/indexes('documentdb-index')/$metadata#docs(*)",
        "value": [
            {
                "@search.score": 1.4182854,
                "id": "Madhu_3",
                "LastName": "Madhu",
                "Parents": [
                    "{\"FamilyName\":null,\"FirstName\":\"Madhu\"}",
                    "{\"FamilyName\":null,\"FirstName\":\"Kalathuru\"}"
                ],
                "Children": [
                    "{\"FamilyName\":null,\"FirstName\":\"Henriette Thaulow\",\"Gender\":\"female\",\"Grade\":5,\"Pets\":[{\"GivenName\":\"Fluffy\"}]}"
                ],
                "IsRegistered": false,
                "rid": "W1wPAPoraMUDAAAAAAAAAA=="
            }
        ]
    }

但是,如果我尝试使用部分文本(例如“ ma”),它将返回空值。我浏览了一份天蓝色的微软文档,发现必须使用自定义分析器来部分发短信,但我不知道如何使用它。谁能建议我如何将自定义分析器应用于字段?预先感谢。

2 个答案:

答案 0 :(得分:0)

您可以通过为每个单词创建多个标记来使用自定义分析器。但是,在这种情况下,最好只使用wildcard search。另外,Autocomplete and search suggestions还可帮助用户创建最佳查询以查找所需内容。

答案 1 :(得分:0)

您可以通过两种方式完成此操作。

  1. 您创建同义词并使用索引字段(https://docs.microsoft.com/en-us/azure/search/search-synonyms-tutorial-sdk)进行映​​射
  2. 使用自定义技能集(azure功能应用程序)
相关问题