【发布时间】:2011-06-27 20:51:26
【问题描述】:
我正在重写我们公司的搜索功能以使用 Solr 而不是 Compass。我们的旧代码使用 CompassQueryBuilder.CompassQueryStringBuilder 从关键字列表中构建查询。关键字中可能有空格:例如:“john smith”、“tom jones”。
我可以在 Solr 中使用现有的工具来复制此功能吗?
【问题讨论】:
标签: solr compass-lucene
我正在重写我们公司的搜索功能以使用 Solr 而不是 Compass。我们的旧代码使用 CompassQueryBuilder.CompassQueryStringBuilder 从关键字列表中构建查询。关键字中可能有空格:例如:“john smith”、“tom jones”。
我可以在 Solr 中使用现有的工具来复制此功能吗?
【问题讨论】:
标签: solr compass-lucene
我所知道的最接近 SolrJ 的是 solrj-criteria 项目。不过,它目前似乎没有维护。
【讨论】:
Solr 提供了多种查询和索引选项。因此,可以通过在配置文件中定义自定义类型(参见here)来实现包含带有空格的关键字的字段。可以通过指定自定义 QueryParser 来实现其中带有间隔关键字的查询。 (见here)
Solr 本身并没有在 API 中提供 QueryStringBuilder。实际上,Solr 本身根本不提供任何 API 类,因为所有交互都是通过通过 Http 发布消息来完成的。有 Java、.NET 和 PHP 等客户端库。在 SolrNet api 中有一个 SolrMultipleCriteriaQuery,它与 CompassQueryStringBuilder 非常相似。
【讨论】: