如何解决SolrNet新手-如何处理多个Where子句
|| 我刚刚开始探索SolrNet。以前我一直在使用MSSQL FULL TEXT。 在sql server中,我的查询进行全文搜索,并且还具有多个联接和Where子句。我还使用自定义分页,仅返回百万行中的10行。 我读了一些solrNet文档,并运行博客上提供的示例应用程序。到目前为止一切都很好。只需了解一下,如何使用JOINS和WHERE子句? 例如如果用户搜索Samsung,db将返回10万条记录,但是如果用户搜索Samsung && City = \'New York \'&& Price> \'500 \',那么他将仅获得数千条记录。 是否在Solr中添加所有列并在Solr中编写WHERE子句? 我该如何处理SQL JOINS? 提前致谢!解决方法
Solr中没有任何联接。从Solr Wiki:
Solr提供了一张桌子。存放一套
索引中的数据库表
需要将某些
表。尝试避免
非正规化通常会失败。
关于WHERE子句(即过滤),请参阅在SolrNet中查询,Solr查询语法和Common Solr查询参数。
, Solr等效于where子句的作用是将列映射到字段并根据查询语法运行查询。像您的示例这样的查询:
Samsung && City=\'New york\' && Price >\'500\'
可以在Solr中翻译成这样:
q=Samsung AND city:\"new york\" AND price:[500 TO *]
将数据库映射到Solr模式时,需要特别小心,特别是可能必须对数据进行非规范化。有关更多信息,请参见Solr Wiki上的此页面。基本上,您不能真正在Solr中执行复杂的JOIN。它是一个“扁平”索引。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。