Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring Boot在Solr中搜索逗号分隔的列表_Java_Groovy_Solr_Spring Boot_Criteria - Fatal编程技术网

Java 使用Spring Boot在Solr中搜索逗号分隔的列表

Java 使用Spring Boot在Solr中搜索逗号分隔的列表,java,groovy,solr,spring-boot,criteria,Java,Groovy,Solr,Spring Boot,Criteria,我有一个对象Foo,具有列表属性名称: class Foo { List<String> names = [] } 然后,我尝试对其执行搜索,其中,只要有任何值与列表中的任何值匹配,我就希望命中: new Criteria('names').in(filter.names) 但是,由于这些值在Solr中存储为逗号分隔的字符串,因此我不会返回任何结果 我是否应该更改某些内容,以便能够将字段拆分或参数化为列表,以便执行搜索?一个可能的解决方案是将solr中的字段设置为多值 如

我有一个对象
Foo
,具有
列表
属性名称:

class Foo {
    List<String> names = []
}
然后,我尝试对其执行搜索,其中,只要有任何值与列表中的任何值匹配,我就希望命中:

new Criteria('names').in(filter.names)
但是,由于这些值在Solr中存储为逗号分隔的字符串,因此我不会返回任何结果


我是否应该更改某些内容,以便能够将字段拆分或参数化为列表,以便执行搜索?

一个可能的解决方案是将solr中的字段设置为多值

如果是逗号分隔的,那会成为一个列表吗?我认为多值意味着该字段可以多次声明。是的,这应该在索引期间处理,以确保存储在索引中的数据是多值格式的。如果无法在源代码处更改数据格式,则可以在数据加载期间使用以下方法处理此问题。是的,这是有效的——关键是确保字段显示多次(而不仅仅是逗号分隔)。
new Criteria('names').in(filter.names)