问题描述
我们想在Azure认知搜索中创建一个自定义分析器,该分析器将包含以下查询字符串的搜索转换为两个令牌:一个1字节字符和一个2字节字符。
我已经测试了以下三件事
- 仅使用字符串查询搜索。 1字节和2字节字符都可以正常显示。 (确定)
- 使用字符串+“ *”的正则表达式查询搜索。同时显示1字节和2字节字符没有问题。 (确定)
- 字符串+“ /。(1字节字符)。” /&querytype = full“使用Lucene搜索语法进行查询搜索。不显示任何内容。(NG)
我不知道为什么(2)使用正则表达式成功进行查询搜索,但为什么(3)无法成功。
- Query string : 1-byte character (确定模式)
- Query string : 1-byte character + "*(regular expression)" (确定模式)
- Query string : /.(※1-byte character)./&querytype=full ( NG模式)
[问题]
解决方法
我不确定我是否理解您的问题,但是我会尽力描述我的理解。
您的索引的文档包含以下文本:
シヤ一ブ
您的索引中包含另一个文档
シャ一プ
两个文档之间的区别在于它们使用单字节或多字节字符来描述相同的文本。您的目标是查询シヤ一ブ或シャ一プ都应返回两个文档。除您启用queryType = full之外,此方法均有效。
如果我输错了文字,我深表歉意。我必须对随附的屏幕截图进行OCR。如果您将实际的示例文本粘贴到此处,将很有帮助,我们可以准确地进行复制。
从链接的屏幕截图中,我看到内容存储在名为F_KEYWORDS的属性中。您是否为属性F_KEYWORDS指定了日语分析器?