【问题标题】:Solr synonyms values ranking issueSolr 同义词值排名问题
【发布时间】:2016-11-18 12:10:45
【问题描述】:

我在搜索作为同义词值的关键字时列出 solr 结果时遇到问题。

以下是法语网站的同义词文件

Décorateur, Responsable Visuel, Acheteur
Responsable de la formation, Directeur de la formation
Directeur général,Chef de secteur

没有明确的排序顺序定义,所以目前它的solr结果是根据score排序的。

如果用户使用关键字“Responsable Visuel”搜索,它会显示在顶部,但如果使用关键字“Acheteur”进行搜索,它不会显示在顶部,而是与它相关的其他记录同义词值,即 Décorateur,显示 Responsable Visuel,然后显示带有关键字“Acheteur”的结果。如何在搜索到的顶部的同义词值中显示结果。

以下是分别添加到 schema_extra_fields.xml 和 schema_extra_types.xml 的代码。

<fields>
    <dynamicField name="tm_fr_*" type="text_fr" indexed="true" stored="true" multiValued="true" termVectors="true"/>
    <copyField source="tm_fr_field_ad_title" dest="rank_content_fr"/>
</fields>

<types>
<fieldType name="text_fr" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
      <charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt" />
      <tokenizer class="solr.StandardTokenizerFactory" />
      <filter class="solr.SynonymFilterFactory" synonyms="synonyms_fr.txt" ignoreCase="true" expand="true" />
      <filter class="solr.FrenchLightStemFilterFactory" />
      <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
    </analyzer>
    <analyzer type="query">
      <charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt" />
      <tokenizer class="solr.StandardTokenizerFactory" />
      <filter class="solr.FrenchLightStemFilterFactory" />
      <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
    </analyzer>
</fieldType>
</types>

以下是将查询过滤器发送到 solr 的代码

$call_args['params']['qf'][] = 'tm_fr_field_ad_title^90 rank_content_fr';

【问题讨论】:

    标签: solr


    【解决方案1】:

    如果您将相同的内容索引到两个不同的字段,您可以独立权衡这些字段。一个字段会扩展同义词,而另一个不会 - 允许您为第二个确切字段赋予更高的权重。

    您可以通过使用&lt;copyField source="content" dest="content_synonyms" /&gt; 将相同的内容索引到两个不同的字段中,然后在查询时使用qf=content^2 content_synonyms 以使content 中的匹配权重是content_synonyms 中匹配的两倍。

    【讨论】:

    • 我尝试使用上述方法,但它不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多