Arrays 使用solr搜索名称集合
我是了解solr技术的初学者。今天,我尝试使用solr技术开发autocomplete。我已经在我的笔记本电脑上安装了solr。根据我对solr的研究,solr要求数据收集对象的数量 例: 我的问题是,solr technologies能否支持名称数组作为其数据收集 例: 所以,我不需要将名称数组转换为对象数组 If solr支持将名称数组作为其数据集合。 可以让我知道如何在solr管理员上创建schema.xml吗?我一直在尝试使用多值创建schema.xml,但是我总是无法使用简单的json数据导入数据Arrays 使用solr搜索名称集合,arrays,solr,Arrays,Solr,我是了解solr技术的初学者。今天,我尝试使用solr技术开发autocomplete。我已经在我的笔记本电脑上安装了solr。根据我对solr的研究,solr要求数据收集对象的数量 例: 我的问题是,solr technologies能否支持名称数组作为其数据收集 例: 所以,我不需要将名称数组转换为对象数组 If solr支持将名称数组作为其数据集合。 可以让我知道如何在solr管理员上创建schema.xml吗?我一直在尝试使用多值创建schema.xml,但是我总是无法使用简单的json
{ id:1, name:["Stackoverflow", "Stackofchange"] }
这是我得到的例外
将文档id 1写入索引时发生异常;可能的分析错误:
无法将字段的DocValues类型从排序更改为排序集
“姓名”
谢谢
如果我对solr technologies有误解,请告知我。要存储/索引数组值,我们需要为架构文件中的字段定义设置
multivalued=“true”
name
字段的字段定义如下
<field name="name" type="string" indexed="true" stored="true" multiValued="false"/>
感谢您快速回答我的下一个问题,我们可以从solr中的字段“name”中搜索字符串吗。我想用“flow”键搜索字符串,我希望结果是[“Stackoverflow”]你可以。应使用查询字符串指定字段名。例如:
q=name:flow
这将匹配wordflow
notstackoverflow
,您应该使用n-gram标记器。谢谢,我一直在尝试在schema.xml中添加NGramTokenizerFactory。我一直在使用q=name:flow
进行搜索,但是我得到了“numFound”:0
。我希望用{id:1,name:[“Stackoverflow”,“Stackofchange”]}
搜索q=name:flow
,然后得到[“Stackoverflow”]
{ id:1, name:["Stackoverflow", "Stackofchange"] }
<field name="name" type="string" indexed="true" stored="true" multiValued="false"/>
{ id:1, name:["Stackoverflow", "Stackofchange"] }