我正在使用Doctrine中的Searchable行为来搜索我的目录中的产品。在搜索与产品匹配的关键字时,它非常有用。例如,关键字“Backpack”会在标题中返回所有带有“Backpack”字样的产品。
但是,当搜索完全与标题不匹配的关键字时,将返回每个记录。例如,“ASDF”返回所有产品。
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:1)
使用Lucene时遇到同样的问题。如果我没记错的原因是因为lucene会返回一个与查询参数匹配的ID列表。如果没有返回,那么Doctrine没有标准来搜索没有where子句的查询。
在您的行动中,我希望您可能会打电话给Lucene找到匹配的产品,然后使用这些结果作为标准来检索它们;我通过在主查询周围检查Lucene返回了一些有用的东西来解决这个问题。