每个产品都有多个关键字。我想按关键字搜索产品数量
{
"response":{"numFound":3,"start":0,"docs":[
{
"name":["Transportbeton - 1"],
"keywords":["Beton",
"Weicher Beton"]},
{
"name":["Transportbeton - 2"],
"keywords":["Beton",
"Weicher Beton"]},
{
"name":["Transportbeton - 3"],
"keywords":["Beton",
"Weicher Beton"]}
]
},
"facet_counts":{
"facet_queries":{},
"facet_fields":{
"keywords":[
"Beton",3,
"Weicher Beton",3]},
"facet_ranges":{},
"facet_intervals":{},
"facet_heatmaps":{}}
}
这里我只搜索包含" Weicher"字。但我也在结果中获得了其他关键字。
我如何只获得与给定输入相匹配的关键字(产品数量)?
答案 0 :(得分:0)
Solr具有一个方面功能,您可以在其中提供方面条件。请参阅https://wiki.apache.org/solr/SimpleFacetParameters#facet.field
答案 1 :(得分:0)
使用Facets。 facet.field = keyword(字段名称)
http://localhost:8983/solr/collection1/select?indent=on&q=*:*&wt=json&facet=true&facet.field=keywords
答案 2 :(得分:0)
您可以使用 facet.prefix 参数。它会将用于分面的术语限制为以指定前缀开头的术语。
http://localhost:8983/solr/collection1/select?indent=on&q=*:*&wt=json&facet=true&facet.field=keywords&facet.prefix=Weicher
您也可以使用 facet.contains 。它会将用于分面的术语限制为包含指定子字符串的术语。
http://localhost:8983/solr/collection1/select?indent=on&q=*:*&wt=json&facet=true&facet.field=keywords&
facet.contains=Weicher