我可以 "Exact Search" 搜索目标字段并搜索其他字段吗?
Can I "Exact Search" for targeted field(s) and Search across other fields as well?
"Exact Search" 字段使用自己的自定义分析器,而搜索字段使用特定语言的自定义分析器(例如,基于 MicrosoftStemmingTokenizerLanguage.French)。
"Exact Search"字段好像不能用$filter,因为$filter考虑的是整个字段,并没有使用字段的自定义分析器。
Azure 搜索文档指出了有关字段范围查询的信息。
"You can specify a fieldname:searchterm construction to define a fielded query operation, where the field is a single word, and the search term is also a single word"
没有关于如何在 Azure 中执行此操作的明确方法。我们知道我们可以在我们的 Azure Search Rest API 调用中使用 searchFields 参数来定位特定字段,但是我们如何在所有字段中搜索 1 个术语,同时专门搜索某些字段的特定术语,基本上是在两者之间做一个“AND”他们?
这可以使用 Lucene query syntax。
像这样构造您的查询,其中 "chair" 是要在所有字段中搜索的术语,field1
和 field2
是您要在其中搜索特定术语的字段:
chair AND field1:something AND field2:else
就如何在 REST API 中使用它而言,只需将其嵌入到 search
参数中即可。如果你使用 GET 它看起来像这样(想象它 URL-encoded):
search=chair AND field1:something AND field2:else
如果您使用 POST,它会出现在请求正文中,如下所示:
{
"search": "chair AND field1:something AND field2:else",
... (other parameters)
}
"Exact Search" 字段使用自己的自定义分析器,而搜索字段使用特定语言的自定义分析器(例如,基于 MicrosoftStemmingTokenizerLanguage.French)。
"Exact Search"字段好像不能用$filter,因为$filter考虑的是整个字段,并没有使用字段的自定义分析器。
Azure 搜索文档指出了有关字段范围查询的信息。 "You can specify a fieldname:searchterm construction to define a fielded query operation, where the field is a single word, and the search term is also a single word"
没有关于如何在 Azure 中执行此操作的明确方法。我们知道我们可以在我们的 Azure Search Rest API 调用中使用 searchFields 参数来定位特定字段,但是我们如何在所有字段中搜索 1 个术语,同时专门搜索某些字段的特定术语,基本上是在两者之间做一个“AND”他们?
这可以使用 Lucene query syntax。
像这样构造您的查询,其中 "chair" 是要在所有字段中搜索的术语,field1
和 field2
是您要在其中搜索特定术语的字段:
chair AND field1:something AND field2:else
就如何在 REST API 中使用它而言,只需将其嵌入到 search
参数中即可。如果你使用 GET 它看起来像这样(想象它 URL-encoded):
search=chair AND field1:something AND field2:else
如果您使用 POST,它会出现在请求正文中,如下所示:
{
"search": "chair AND field1:something AND field2:else",
... (other parameters)
}