【问题标题】:Solr - search multiple languages returning duplicatesSolr - 搜索返回重复项的多种语言
【发布时间】: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 调用),以便能够跨多种语言进行搜索而不会出现重复但无济于事。有什么解决办法吗?

【问题讨论】:

标签: search drupal solr


【解决方案1】:

您是否在使用以下模块

https://www.drupal.org/project/apachesolr_multilingual (drupal 7) https://www.drupal.org/project/search_api_solr_multilingual (drupal 8)

更好地支持非英语语言并支持多语言搜索

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-17
    • 2017-04-05
    • 1970-01-01
    • 2023-01-13
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-04-03
    相关资源
    最近更新 更多