Lucene搜索结果不是最优的

时间:2012-05-08 14:18:00

标签: search optimization lucene

我知道lucene的不同部分以及如何使用它们但我还有一个问题。 Lucene在我的网上商店里跑步并且做得很好。现在我想通过单个搜索字段优化搜索功能的搜索结果,用户可以在其中输入他想要搜索的任何内容。 从现在开始,我结合了不同的搜索方法来获得像短语和模糊搜索这样的结果。问题是我总是得到一个巨大的结果集。我想要一个具有最佳命中的较小结果列表。当我离开模糊时,我可以做到这一点。然后我有一个很棒的搜索结果,但当用户输入错误时,结果为空。

必须有一个解决方案来获得一个得分很高的小结果集,并且如果命中率不好,还可以将它与模糊搜索相结合?!

我有什么想法?我该走哪条路? 那种情况的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

一种方法是首先使用非模糊查询进行搜索。如果该搜索返回了合理数量的命中,那么就完成了。

如果第一次搜索返回0次点击,则尝试通过组合搜索来再次搜索,其中每个单独的搜索项被模糊一次 - 例如,如果您有“ABC”,则第二次搜索将类似于“(A~AND) B和C)或(A和B~AND)或(A和B和C~)“。这样可以最大限度地减少在模糊每个搜索词时引入的模糊性。

请注意我没有尝试过这种方法,但我尝试过类似的方法,你的第二次搜索会丢弃每个搜索词一次,这样你就可以处理索引中根本没有的搜索词 - “(A AND B)或(A和C)或(B和C)“。