我想获得所有与Title
类中的查询“ table”匹配并且与我的CategoryId
类的Product
字段中的数字“ 1”匹配的结果。可以在elasticsearch / nest中完成吗?
public class ProductModel
{
public string Title { get; set; }
public int CategoryId { get; set; }
}
这就是我现在拥有的:
response = await ElasticClient.SearchAsync<ProductModel>(s => s
.From(skip)
.Size(itemsPerPage)
.Index(indexName)
.Query(q => q
.SimpleQueryString(qs => qs
.Fields(fs => fs
.Field(f => f.Title, 3.50)
)
.Query("" + productSearch.Query + "")
)
)
);
我只想获取CategoryId
字段中值也为“ 1”的结果。
答案 0 :(得分:0)
感谢@Benjamin Trent
如果其他人也有类似的问题,我最终使用以下命令:
response = await ElasticClient.SearchAsync<ProductModel>(s => s
.From(skip)
.Size(itemsPerPage)
.Index(indexName)
.Query(q => q
.Bool(b => b
.Should(
bs => bs.Term(p => p.CategoryId, productSearch.CategoryId),
bs => bs.SimpleQueryString(qs => qs
.Fields(fs => fs
.Field(f => f.Title, 3.50)
.Field(f => f.BrandName, 3.00)
.Field(f => f.Description, 2.00)
)
.Query("" + productSearch.Query + "")
)
)
)
)
);