我有用户要求在填充索引后将动态字段添加到索引中。目前我正在使用 solrj 添加它们。
SolrInputDocument solrDoc = new SolrInputDocument();
solrDoc.setField("id",myId);
solrDoc.setField("model_txt", "test123");
solr.add(solrDoc);
solr.commit();
添加了字段模型。
但是当用户尝试使用 dismax 搜索它时,他们必须使用
model_txt:test123
代替:
型号:test123
我知道 solr 需要前缀/后缀来确定字段类型,但有没有办法在添加字段后删除它?或者另一种达到相同结果的方法?
编辑:
我问这个的原因是因为用户可以创建新的动态字段,但他不知道类型。
因此,如果他将模型添加为新的动态字段,他不知道它是索引中的 model_txt。
我知道我应该避免用户必须输入字段名,但是当他们想要动态添加它们时,没有其他方法可以这样做吗?