天蓝色搜索中所需的字符数

时间:2018-06-05 12:54:20

标签: azure azure-search

我已经提供了一个天蓝色的搜索服务,它已经开始工作了。我希望用户能够搜索3个或更多字符。 我在不同的文件中有以下文字:

  1. Paracet 200mg
  2. Paracet 150mg
  3. Kodein / paracetamol SA
  4. 当我搜索' par'我没有结果。我必须键入5个字符(parac),然后我得到1&结果是2。我想要这个结果为' par'同样。这可能吗?我无法在文档中找到有关设置搜索所需字符数的任何内容。

1 个答案:

答案 0 :(得分:1)

为获得最佳性能,您可以在索引中启用“快速”前缀分析器,这将在索引时将每个标记分解为前缀列表。以下是有关如何执行此操作的一些其他信息:https://azure.microsoft.com/en-us/blog/custom-analyzers-in-azure-search/

这将要求您重新索引数据,因此如果您要创建一个全新的索引,这是一个选项。

如果不能选择重新索引,则可以在查询中使用后缀操作“*”。以下是有关后缀运算符的更多信息:https://docs.microsoft.com/en-us/rest/api/searchservice/Simple-query-syntax-in-Azure-Search?redirectedfrom=MSDN

我怀疑使用后缀运算符进行搜索(或使用快速前缀分析器时重新编制索引)也可以使用您列出的第3个文档(Kodein / paracetamol SA)。如果它仍然不起作用,可能是由于您使用了不在'/'字符上拆分的标记生成器。默认分析器应正确分割为'/',但如果您使用自定义分析器,则可能将整个“Kodein / paracetamol”表达式标记为单个术语,这可以解释为什么搜索parace *不会返回文档,因为文件的前缀是“kode ......”。