如何使用 Solr 搜索仅获取不同的值
How to get only disintct values using Solr Search
我是 solr 的新手 search.I 想使用 solr 获取字段的不同值。
我正在使用 &rows=0&facet=on&facet.field=fieldname&wt=json
输出:
facet_fields":{"packagename":["bangalore",2,"hyerabadd",2,"australia",3]
这是我解码以上输出的代码:
<?php
header("Content-type:text/json");
$data=file_get_contents("http://localhost:8984/solr/collection1/select?q=*:*&rows=0&facet=on&facet.field=fieldname&wt=json");
$res=json_decode($data);
foreach($res->facet_counts->facet_fields as $doc){
foreach($doc as $value){
echo $value;
}
}
?>
解码后输出:
bangalore
2
hyderabad
2
australia
3
但是,我不想在这里显示这些数字(最小计数)。
看here
您可以在 JSON 中指定返回结果的方式。默认是它在你的问题上面的显示方式。将 json.nl=arrarr 添加到您的查询后,它看起来像这样
facet_fields":{ "packagename":[["bangalore",2],["hyerabadd",2],["australia",3]]
而且应该更容易区分name和count
我是 solr 的新手 search.I 想使用 solr 获取字段的不同值。
我正在使用 &rows=0&facet=on&facet.field=fieldname&wt=json
输出:
facet_fields":{"packagename":["bangalore",2,"hyerabadd",2,"australia",3]
这是我解码以上输出的代码:
<?php
header("Content-type:text/json");
$data=file_get_contents("http://localhost:8984/solr/collection1/select?q=*:*&rows=0&facet=on&facet.field=fieldname&wt=json");
$res=json_decode($data);
foreach($res->facet_counts->facet_fields as $doc){
foreach($doc as $value){
echo $value;
}
}
?>
解码后输出:
bangalore
2
hyderabad
2
australia
3
但是,我不想在这里显示这些数字(最小计数)。
看here
您可以在 JSON 中指定返回结果的方式。默认是它在你的问题上面的显示方式。将 json.nl=arrarr 添加到您的查询后,它看起来像这样
facet_fields":{ "packagename":[["bangalore",2],["hyerabadd",2],["australia",3]]
而且应该更容易区分name和count