0

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 エクストラクタはグループのインデックス エントリを作成していますか?

4

1 に答える 1

0

スキーマは正しいです。問題は、バケットのプロパティを設定するために使用した元のスキーマではなかったことです。横綱 GitHub のこの問題が原因でした。インデックスがリロードされると考えて、新しいデータを挿入した後、スキーマを更新しました。現在、そうではありません。

于 2015-03-23T02:03:27.433 に答える