我是 solr 的新手,并且在 solr 上束缚了我的双手。 有人可以解释一下如何为给定的搜索指定多个方面字段吗?
我正在使用 Solr 管理 UI/查询墨水,它允许我仅指定一个字段。 然而,我想在我的公司搜索中涉及多个领域,例如地区行业证券交易所等。
我已经浏览了 solr wiki 和相关文档链接,如下所示 http://docs.lucidworks.com/display/solr/Query+Screen
但他们似乎都没有解释如何指定多个字段。 我想构建类似于通常的亚马逊/沃尔玛等搜索用户界面的东西,当尝试在我计划的公司搜索页面上搜索产品时,该用户界面提供多个方面和计数。
可以查询多个facet字段。只需使用语法编写即可:
.../select?q=&facet=true&facet.field=<field1>&facet.field=<field2>
您正在寻找 json.facet
它从 solr 5 开始提供(一些高级功能从 solr 6 开始提供)。 基本上,这意味着您可以通过 json 将 Facet 搜索参数插入到 url。
看起来像这样(实例):
&facet=true&json.facet={"filed1":{"type":"terms","field":"filed1","limit":2000},"filed2":{"type":"terms","field":"filed2","limit":2000}}
还有一个较短的版本:
&facet=true&json.facet={"field1":{"terms":"field1"},"field2":{"terms":"field2"}}
您可以在这里找到更多信息
当您在 Solr 查询 UI 中执行搜索时,它将在结果窗格上方显示发送到 Solr 的实际 url。单击该网址,它将在浏览器中打开一个指向该网址的新窗口。从那里,您可以通过添加额外的
&facet.field=<your field>
条目,向 url 添加其他参数,以获取多个字段的事实。
请参阅Solr Faceting参数参考以了解更多详细信息和其他选项。
Solr 管理 UI 允许您指定多个方面字段,即
facet.field
参数中的 csv 字段。您需要选中facet
复选框,然后您将获得更多选项。
如果您使用链接查询 Solr,则该链接应类似于 -
facet=true&facet.field=field1&facet.field=field2
。
到 2024 年,Solr 9.4 中,您不能在 facet.field 中使用多个字段
相反,请使用 json.facet 文本区域框并使用一些 JSON 指定您的构面定义,例如:
{
categories:{
"type":"terms",
"field" : "category",
"limit" : 5
},
machine_types:{
"type":"terms",
"field" : "machine_type",
"limit" : 5
},
}
更多信息在这里:https://solr.apache.org/guide/solr/latest/query-guide/json-facet-api.html