如何使用具有嵌入空格的Solrj指定过滤器查询?

时间:2016-09-22 14:53:36

标签: java solr solrj

我正在使用SolrJ来搜索Solr

我的应用程序正常工作,直到我收到带有嵌入空格的过滤器查询

我尝试了以下格式

String filterQuery_1 = "\"xxx xxx xxx\"*";
String filterQuery_2 = "xxx\\ xxx\\ xxx*";
String filterQuery_3 = "(xxx xxx xxx)*";

没有给出满意的结果

它们或者导致根本不应用过滤 或者我得到的行似乎与我过滤的内容没有任何关系

如何使用solr搜索带有嵌入空格的过滤字符串的solrj

******更新0001 ******

我尝试使用嵌入空格搜索的所有文本字段定义如下: -

<field name="TEXT_FIELD_00001" type="text_general" indexed="true" stored="true" />

这些字段包含邮政地址详细信息。

e.g。

     123 My Road
     My Town
     My County
     My Country
     AA1  1AA

1 个答案:

答案 0 :(得分:1)

我猜你尝试这样的事情 - Solr exact search with blank character AND a wildcard

这是有效的,但取决于配置架构(字段定义),这可能会被破坏。

您可以尝试手动查询此查询Solr(从管理员面板或使用REST API)吗?只是为了避免任何可能逃避SolrJ可以做的事情。如果过滤器查询正常工作,我们可以尝试调查SolrJ的问题。否则 - 您应该检查您的架构。