2012-08-31 87 views
3

我有一个用户查询来自网站solr列表(数以百计的成千上万)。我的要求是返回给定列表中对文档而言属实的所有查询。我知道我可以索引一个文档,并通过100000个查询列表循环查看文档是否被返回,但有没有更快的方法?反向查询匹配解决方案

例如。 :

  1. cartype =宝马的color = red
  2. cartype =福特和门= 4
  3. cartype =福特和颜色=绿色

    document: <cartype>FORD</cartype> <colour>GREEN</colour> <doors>4</doors>

所以这个文件有问题将返回查询2 & 3.

理想情况下,我想做某种反向搜索。索引搜索查询并发送文档内容以返回匹配项。任何人都知道我可能会怎么做,或者之前已经尝试过?

任何输入,非常感谢。

+0

这将是一个伟大的功能,并一直在想办法做同样的事情。我使用的另一种搜索产品具有称为“探查器”的功能http://www.thunderstone.com/site/vortexman/profiler.html –

回答

6

你能考虑切换到elasticsearch吗?很抱歉,这个用例看起来非常适合Percolate API,这是elasticsearch提供的一个非常有用的功能。

你会索引你的查询,而不是文件,给他们一个唯一的ID。然后,您可以逐个发送文档,并返回与其匹配的查询,甚至不需要索引文档。一探究竟!

+0

这看起来很完美是对的:)我可以为此设置不同的引擎。想知道这是如何工作在引擎盖下,并与solr一起使用,但这回答了我的问题。谢谢 – everreadyeddy

+0

哇...看起来我会在本周末探索elasticsearch! –

+0

@dwhelan这绝对是一个不错的选择! ;) – javanna