无法在正常查询中的特定字段上使用“OR”获得预期结果。 Solr可以对特定字段进行OR查询吗?

时间:2017-12-20 23:49:24

标签: solr

您可以对特定字段进行OR查询吗?例如,您可以(main_ref_number_tesim:(1920.1*)) OR (main_ref_number_tesim:(1920.2*))吗?

我已阅读documentation版本(5.5)并使用示例 不含 特定字段,例如:

"jakarta apache" jakarta

"jakarta apache" OR jakarta

注意:我可以使用过滤器查询获得预期结果,但我的目标是使用普通查询获得相同的结果。有效的fq是main_ref_number_tesim:(1920.1* 1920.2*)

EDIT1 :我尝试的常规查询应该有效,但是不起作用,是:

  1. (main_ref_number_tesim:(1920.1*)) OR (main_ref_number_tesim:(1920.2*))
  2. main_ref_number_tesim:(1920.1* OR 1920.2*)
  3. main_ref_number_tesim:(1920.1* 1920.2*)

1 个答案:

答案 0 :(得分:0)

是的,您可以为特定字段进行OR。

@Query(value = "*:*", filters = "(keywords:(?0))")
public Page<ENITITY> findDataByKeywords(List<String> keywords,Pageable pageable);

与上面的代码一样,当您传递关键字列表时,solr将对关键字应用操作。

希望这能解决问题。