我想搜索多种语言(翻译),但是当我为每种语言返回重复结果时。我正在使用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调用)能够跨多种语言进行搜索而无需重复。有没有解决方案?
答案 0 :(得分:0)
您使用的是以下模块吗?
https://www.drupal.org/project/apachesolr_multilingual(对于drupal 7) https://www.drupal.org/project/search_api_solr_multilingual(对于drupal 8)
更好地支持非英语语言并支持多语种搜索