【问题标题】:Synonyms in Solr Query ResultsSolr 查询结果中的同义词
【发布时间】:2019-01-23 10:23:30
【问题描述】:

每当我在 solr 中查询一个字符串时,如果存在任何作为查询结果的一部分,我想获取字段值的同义词,是否可以在 solr 中做到这一点

【问题讨论】:

    标签: solr synonym querying


    【解决方案1】:

    没有直接的方法来获取搜索结果中使用的同义词。您可以通过查看 Solr 如何通过 debugQuery=true 参数解析您的查询并查看响应中的 parsedQuery 值来接近,但这并不简单。例如,如果您在使用同义词的文本字段中搜索“tv”,您将得到如下内容:

    $ curl "localhost:8983/solr/your-core/select?q=tv&debugQuery=true"
    {
    ...
        "parsedquery":"SynonymQuery(Synonym(_text_:television _text_:televisions _text_:tv _text_:tvs))",
    ...
    

    另一种方法是在您的应用程序中加载 Solr 使用的 synonyms.txt 文件并自己进行映射。同样,不是直截了当的,

    【讨论】:

    • 谢谢,它确实部分解决了我的问题,假设我搜索“tv”,结果查询有另一个字段,其中字段值有同义词,可以获取同义词吗,例如智能电视有 5gb 的内部存储,我查询“tv”,我能得到“gb”的同义词吗
    • 你是对的,没有简单的方法可以知道哪个同义词是匹配的。 parsedQuery 中的信息会告诉您它处理了哪些同义词,但不会告诉您实际匹配的同义词。
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多