【问题标题】:Solr search query using multiple fields使用多个字段的 Solr 搜索查询
【发布时间】:2022-01-09 17:17:02
【问题描述】:

我的对象具有以下字段:标题、图像、描述、web、类型、url、id 和 _version(食谱集合)。类型是食谱的类别(甜点,第一道菜......)。我想在以下类型中找到所有标题或描述包含“pasta pomodoro”的元素:secondi-piatti(即第二道菜)。我的查询是:
(标题:pasta,pomodoro OR 描述:pasta,pomodoro)AND(类型:secondi-piatti)
标题和描述查询是正确的(因为通过这种方式它还可以找到仅包含“番茄”或“意大利面”的元素),但我不明白为什么在我的结果中我也有以下类型的食谱:primi-piatti(即是,第一门课程),因为我认为使用 AND 它只会找到该类型的元素。有人知道是什么问题吗?

我还必须说,如果我编写相同的查询,但不使用 type:secondi-piatti,而是使用 type:dolci(甜点),它会起作用,因为它只显示包含“pasta”作为甜点的食谱,而不是食谱的第一门课程。总之,这个查询结构遵循我想要的类型,只有当类型是 dolci(甜点)时,所有其他类型(primi、secondi-piatti、antipasti、contorni)都不起作用。

【问题讨论】:

    标签: collections solr request operators logical-operators


    【解决方案1】:

    我发现了问题。拥有一个包含两个词条的类型,它会搜索包含一个词条另一个词条的类型,实际上 piatti 既属于 primi-piatti 又属于 secondi-piatti。我必须写:

    (标题:pasta,pomodoro OR 描述:pasta,pomodoro) AND type:(secondi AND piatti)

    【讨论】:

    • 您可以在引号Title:"pasta pomodoro" 中传递查询以强制Solr 进行短语查询。您还可以传递debugQuery 参数以查看 Solr 如何解释您的查询 (hectorcorrea.com/blog/solr-debugquery/87)
    猜你喜欢
    • 2011-12-26
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 2017-03-26
    相关资源
    最近更新 更多