我是 Solr 6.0 和 Solarium 集成的新手。我的设置正在运行,但在字段与查询不完全匹配的地方没有返回结果。例如,我有一个包含 url 的字段,'http://ayodeji.com'
或者'http://ayo-tuntun.com'
对“ayo”的查询不会返回这些行,尽管它们是*:*
在 Solr 管理部分中与查询一起返回的。我已将托管模式文件中的字符串更改为文本,但仍然无法正常工作。请帮助 下面是我正在使用的 Solarium dismax 示例中的代码。谢谢你。
$client = new Solarium\Client($config);
$query = $client->createSelect();
$dismax = $query->getDisMax();
$dismax->setQueryFields('url^5 author^3 body^1 title');
$searchTerm = 'ayo';
$query->setQuery($searchTerm);
$resultset = $client->select($query);
echo 'NumFound: '.$resultset->getNumFound();
foreach ($resultset as $document) {
echo '<hr/><table>';
// the documents are also iterable, to get all fields
foreach ($document as $field => $value) {
// this converts multivalue fields to a comma-separated string
if (is_array($value)) {
$value = implode(', ', $value);
}
echo '<tr><th>' . $field . '</th><td>' . $value . '</td></tr>';
}
echo '</table>';
}