【发布时间】:2017-08-10 08:28:11
【问题描述】:
我想跨多种语言(翻译)进行搜索,但是当我这样做时,每种语言都会返回重复的结果。我正在使用 Drupal 和 Search API Solr 进行索引。结果如下所示:
[results] => Array
(
[3239/en] => Array
(
[id] => 3239/en
[score] => 1
[fields] => Array
(
[search_api_id] => 3239/en
[search_api_relevance] => 1
)
)
[3240/en] => Array
(
[id] => 3240/en
[score] => 1
[fields] => Array
(
[search_api_id] => 3240/en
[search_api_relevance] => 1
)
)
所以 id 和语言都包含在 key/id 中。目前我可以使用代码按语言过滤:
$index = search_api_index_load('default_multilingual_node_index');
$query = $index->query();
$query->keys($search_terms);
$filter = $query->createFilter('OR');
$filter->condition('search_api_language', $language);
$query->filter($filter);
$results = $query->execute();
我一直在寻找一种方法(无论是 Solr 配置还是 Drupal Search API 调用),以便能够跨多种语言进行搜索而不会出现重复但无济于事。有什么解决办法吗?
【问题讨论】: