在Riak中,我有这个基本的user
模式,附带user
索引(我省略了特定于riak的字段,如_yz_id
等):
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="user" version="1.5">
<fields>
<field name="email" type="string" indexed="true" stored="false"/>
<field name="name" type="string" indexed="true" stored="false"/>
<field name="groups" type="string" indexed="true" stored="false" multiValued="true"/>
<dynamicField name="*" type="ignored" indexed="false" stored="false" multiValued="true"/>
..riak-specific fields..
</fields>
<uniqueKey>_yz_id</uniqueKey>
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true"/>
<fieldType name="_yz_str" class="solr.StrField" sortMissingLast="true"/>
<fieldtype name="ignored" class="solr.StrField"/>
</types>
</schema>
我的用户JSON如下所示:
{
"name" : "John Smith",
"email" : "jsmith@gmail.com",
"groups" : [
"3304cf79",
"abe155cf"
]
}
当我尝试使用此查询进行搜索时:
curl http://localhost:10018/search/query/user?wt=json&q=groups:3304cf79
我没有回复docs
。
这是为什么? JSON提取器是否为组创建索引条目?
答案 0 :(得分:0)
架构是正确的。问题是它不是我用来设置存储区属性的原始模式。 Yokozuna GitHub上的This问题是罪魁祸首。我在插入新数据后更新了模式,认为索引会重新加载。目前,他们没有。