首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蓝色认知搜索中具有"/“特征的字段的部分术语搜索

蓝色认知搜索中具有"/“特征的字段的部分术语搜索
EN

Stack Overflow用户
提问于 2022-01-24 16:20:19
回答 1查看 111关注 0票数 0

当我试图在Azure搜索中搜索一个具有“/”特殊字符的字段时,我看到了一些问题。

我列出了我在下面尝试过的问题,所以我在寻找解决问题的帮助。

有一个名为CustomProperty和关键字分析器的字段,因此该字段不会在特殊字符上被标记。

CustomPropertyWithKeywordAnalyzer

customProperty的值是objectId/70efb434-40c4-4314-a53c-179700480ca8

search=/.*object.*70ef.*/&queryType=full&searchFields=customProperty 查询工作

QueryResult

search=/.*70efb434-40c4-4314-a53c-179700480ca8.*/&queryType=full&searchFields=customProperty 查询工作

QueryResult

开始接近“/”查询不工作,而“object.*”查询在上面工作。search=/.*objectI.*70ef.*/&queryType=full&searchFields=customProperty 不工作

QueryResult

search=/.*objectI.*/&queryType=full&searchFields=customProperty 不工作

QueryResult

search=/.*objectId\/70efb4.*/&queryType=full&searchFields=customProperty https://learn.microsoft.com/en-us/azure/search/search-query-partial-matching#about-partial-term-search说要逃跑,但这也行不通。不工作

QueryResult

简单(不是完全-lucene)也不工作 search=objectId\/70efb4*&searchFields=customProperty

QueryResult

EN

回答 1

Stack Overflow用户

发布于 2022-01-25 01:32:02

您遇到的问题不是由/引起的,而是由于查询和索引中的数据之间的大小写不匹配造成的。部分术语搜索,像正在执行的regex搜索一样,会自动降低。然而,他们的关键字分析器你使用的不是小写文本。这意味着,在索引中,数据看起来像objectId,但是查询会自动降低到objectid。这种不匹配是导致查询不返回结果的原因。这里有更多的详细信息:https://learn.microsoft.com/azure/search/search-query-partial-matching

对于您的用例,我建议使用以下分析器:

代码语言:javascript
复制
"analyzers": [
        {
            "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
            "name": "custom-keyword",
            "tokenizer": "keyword_v2",
            "tokenFilters": [
                "lowercase"
            ],
            "charFilters": []
        }
    ]

我用分析器和样本数据测试了您的查询,它们都使用该分析器工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70837032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档