1
我正嘗試使用SolrJ從Solr內核索引和搜索文檔。 Solr核心在無模式模式下運行。爲什麼Solr在無模式模式下爲String創建multiValued字段?
我有以下豆指數:
public class Product {
@Field("id")
private String id;
@Field(value="name")
private String name;
@Field(value="category")
private String category;
@Field(value="description")
private String description;
...
}
當索引文件是在管理的架構創建multiValued
場strings
:
Product p = new Product();
p.setId("0001");
p.setName("Cat 1");
p.setDescription("Description");
SolrClient client = new
HttpSolrClient("http://localhost:8983/solr/product");
client.addBean(p);
client.commit();
動態地創建了managed-schema
MULT值的字段集:
<field name="category" type="strings"/>
<field name="description" type="strings"/>
<field name="name" type="strings"/>
,並試圖尋找它會拋出異常後拿到豆時:
SolrQuery query = new SolrQuery();
query.set("q", "*:*");
QueryResponse response = client.query(query);
List<Product> products = response.getBeans(Product.class);
例外:
java.lang.IllegalArgumentException:
Can not set java.lang.String field Product.name to java.util.ArrayList
我怎樣才能解決這個並Solr的創建單值領域?
我使用的是solr-6.2.1
和solr-solrj-5.5.0.jar
。
是的,可以單獨添加字段。但我期望在無模式模式下動態創建字段。看起來像動態創建的字符串字段是多值的(字符串)。 –
在無模式模式下創建的所有字段都創建爲多值。 – MatsLindh