2009-06-09 111 views
4

我刚开始着眼于使用Solr作为我的搜索Web服务。我不知道是否Solr的支持这些查询类型:Solr查询语法

  • Startswith
  • 完全匹配
  • 没有包含
  • 范围
莫非

导人我如何在Solr中实现这些功能?

干杯, Samnang

回答

7

Solr的是能够所有这些事情,但充分地解释如何做到每一次的答案将成为一个迷你手册Solr的。

我建议你阅读从Solr homepage链接的实际手册和教程。

简而言之:

Startswith可以使用Lucene通配符实现。

只有当字段没有被标记时才能找到完全匹配。即整个领域被视为一个单一的标志。

包含是默认的搜索格式。即对“John”的搜索将查找其搜索字段包含值“John”的任何文档。用 - (例如“ - 约翰”前缀只会查找不包含John的文档)。

范围(它们是日期还是整数)是可能的而且非常强大,示例日期:[* TO NOW]将查找其日期不在将来的任何文档。

+0

这里所描述的“围堵”的解决方案仅适用于单个单词,而不是子短语。例如。 “约翰史密斯”中的“约翰”将起作用,“我的名字是约翰史密斯”中的“约翰史密斯”不会。 – mils 2016-05-26 08:02:31