0
我有以下情况。假设我有一张这样的大桌子。Solr:如何实现这个逻辑?
Id(unique) returnMe desc name value
1 user1 all those living in usa country USA
2. user2 all those like game game football
3. user1 my hobbies are hobby guitar
现在,我如何得到结果(returnMe)以下查询。
1. For all those users who live in usa AND like guitar
2. For all those users who live in usa OR like guitar.
请不要修改查询。
对于我的solConfig.xml'desc','name','value'是可搜索的可索引字段。
感谢您的任何帮助。
好吧,我编辑这个解释我的逻辑..
Step 1: Break query on AND like (live in USA) AND (like guitar)
Step 2: Then select returnMes from first query and returnMes from second query.
Step 3: Take common returnMes, returned from first query and second query.
有什么办法可以Solr的做到这一点。我们可以通过Solr“join”还是其他方式来完成? 我确实想在我的PHP中这样做,这将是巨大的开销。
嘿感谢您的建议。我已经编辑了一些问题来解释我的逻辑。你可以请看看这个来帮助我。 – voila 2013-04-24 04:12:18
为什么要手动合并结果? Solr查询解析器支持布尔逻辑。为什么不通过查询'(住在美国)和(如吉他)' – femtoRgon 2013-04-24 14:03:46
因为'AND'试图找到(住在美国)和(如吉他)文件明智(两个查询都应该出现在文件中)。例如 - 如果我只是在上面的表上做AND,那么我不会得到任何结果,因为没有任何文档满足这两个查询。但我的要求是获得“用户1”查询“住在美国和业余爱好是吉他”..任何解决方案。我坚持:( – voila 2013-04-24 17:33:55