如何在SOLR中按给定名称搜索包含产品计数的关键字

时间:2016-11-30 10:18:13

标签: solr

每个产品都有多个关键字。我想按关键字搜索产品数量

here

 {     
  "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"字。但我也在结果中获得了其他关键字。

我如何只获得与给定输入相匹配的关键字(产品数量)?

3 个答案:

答案 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