我使用edismax解析器构建搜索查询并指定查询字段。有时我需要搜索多个集合,有时我只是搜索单个集合。在任何一种情况下,除了查询字段之外,我还通过指定collections
参数来生成单个查询。
这意味着我的qf
参数可能会列出一个或多个集合中不存在的字段。通常这不是问题,我得到了我期望的结果(假设我使用的是edismax解析器)。但是,我注意到如果我以这种方式进行模糊搜索,我会得到不一致的结果。
例如:
http://localhost:8983/solr/activity/select?q=jva040~2&defType=edismax&qf=Code
使用
等代码给我结果RVA010, JAA048, RVA041
但是如果我在活动集合中发出一个不存在的字段,如
http://localhost:8983/solr/activity/select?q=jva040~2&defType=edismax&qf=Code+Poop
我使用
等代码获得结果53721ILTHRS-CHFSPMT-2, 53721ILTHRS-CHFSCOS-2, 53721ILTHRS-CHFSNEO--11/2/15
这是Solr中的错误还是构建此查询错误?我使用Solr版本5.2.1