两个字段的弹性搜索查询

时间:2014-10-03 05:37:22

标签: symfony elasticsearch foselasticabundle

我试图为某些产品编写查询。产品有两个字段,标题和描述。我想编写一个传递一些文本的查询并返回给我带有匹配文本的产品。我希望标题中匹配的所有产品的排名都高于描述中匹配的所有产品。我还想让描述字段匹配以要求更高的模糊度,并且最小值应该匹配标题匹配。

到目前为止,我只能找到编写查询的方法 A)将检查两个字段,但标题和描述的匹配将等同地排名 要么 b)检查两个字段,但在返回结果之前需要在两个字段中匹配。

任何在常规弹性搜索或使用FOSElasticaBundle中写这个的帮助都将非常感激。

1 个答案:

答案 0 :(得分:0)

在弹性搜索中,您可以使用query string query为不同的字段提供不同的提升。这也支持布尔搜索文本。如果您不需要布尔搜索文本,那么您也可以使用multi-match query