Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在azure搜索中搜索特殊字符和具有特殊字符的单词?_Azure_Search_Lucene_Full Text Search_Azure Cognitive Search - Fatal编程技术网

如何在azure搜索中搜索特殊字符和具有特殊字符的单词?

如何在azure搜索中搜索特殊字符和具有特殊字符的单词?,azure,search,lucene,full-text-search,azure-cognitive-search,Azure,Search,Lucene,Full Text Search,Azure Cognitive Search,我正在使用azure搜索和标准分析器。我在进行搜索时遇到了这个问题 我的索引中有文本,如“abc@sakiladb.com“ 如果我尝试只搜索@,则没有结果 如果我尝试用这个单词的一半后跟*进行搜索,则没有结果 如果我尝试使用转义和编码进行搜索,上述两种情况都不起作用 有什么方法可以搜索这些字符串吗?看起来这可能是标准分析器的问题。 如果将AnalyzeAPI与标准analyzer一起使用,您将看到它仅标记“abc”和“sakiladb.com”,如下所示 "tokens

我正在使用azure搜索和标准分析器。我在进行搜索时遇到了这个问题

我的索引中有文本,如“abc@sakiladb.com“

  • 如果我尝试只搜索@,则没有结果

  • 如果我尝试用这个单词的一半后跟*进行搜索,则没有结果

  • 如果我尝试使用转义和编码进行搜索,上述两种情况都不起作用


  • 有什么方法可以搜索这些字符串吗?

    看起来这可能是标准分析器的问题。 如果将AnalyzeAPI与标准analyzer一起使用,您将看到它仅标记“abc”和“sakiladb.com”,如下所示

        "tokens": [
            {
                "token": "abc",
                "startOffset": 0,
                "endOffset": 3,
                "position": 0
            },
            {
                "token": "sakiladb.com",
                "startOffset": 4,
                "endOffset": 16,
                "position": 1
            }
        ]
    }
    
    使用“en.microsoft”分析器时,标记化的发生方式有所不同,但它会为整个abc@sakiladb.com“现在,它将返回搜索所需的结果。 所有这些都由文档支持,因为这里提到的标准分析器将忽略大多数特殊字符

    "tokens": [
            {
                "token": "abc@sakiladb.com",
                "startOffset": 0,
                "endOffset": 16,
                "position": 0
            },
            {
                "token": "abc",
                "startOffset": 0,
                "endOffset": 3,
                "position": 0
            },
            {
                "token": "sakiladb",
                "startOffset": 4,
                "endOffset": 12,
                "position": 1
            },
            {
                "token": "com",
                "startOffset": 13,
                "endOffset": 16,
                "position": 2
            }
        ]
    }