我为每种产品都有多个关键字。我想用关键字搜索产品数
http://127.0.0.1:8983/solr/collection1/select?facet.field=keywords& q = keywords:*weicher*&amp q.p.q.p.q.p == on& facet = true& facet.mincount = 1& fl =关键字,名称
{
"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"单词的关键字。但是我也在结果中获得其他关键字。
我只能获得与给定输入匹配的那些关键字(带有产品计数)?
solr具有一个方面功能,您可以在其中提供一个方面条件。请参阅https://wiki.apache.org/solr/simplefacetparameters#facet.field
使用方面。facet.field =关键字(字段名称)
http://localhost:8983/solr/collection1/select?indent=on&q=*:*&wt=json&facet=true&facet.field=keywords
您可以使用 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