私は Solr の初心者で、Solr(3.6) package( apache-solr-3.6.0.tgz
) のサンプル フォルダーにあるサンプルを試していました。サーバーを起動し、サンプルのxmlファイルを投稿したところ、example/exampledocs
検索できるようになり、Solr が一致を返し、すべて問題ありませんでした。しかし、その後、10,000 を超えるドキュメントを含む別の xml ファイルを投稿しようとしました。ファイルを変更しexample/solr/conf/schema.xml
て xml ファイルのフィールドを追加し、サーバーを再起動して xml ファイルを投稿しました。Solr 管理パネル ( http://localhost:8983/solr/admin/stats.jsp
) で統計を確認したところ、numDocs : 10020
. これは、伝票が正常に転記されたことを意味します。しかし、投稿されたドキュメント (10,000 ドキュメントの xml ファイルから) に存在するものを検索すると、0 の結果が返されます。example/exampledocs
ただし、Solr は、既定でフォルダーにあるドキュメントのコンテンツと一致する検索結果を返すことができます。私はここで何が起こったのか分かりません。の値はnumDoc
、xml ファイルに投稿したドキュメントがインデックス化されたことを明確に示しています。これの何が問題なのかを確認するために検査できるものは他にありますか?
Solr パッケージの例に含まれるスキーマは次のようになります。
<field name="id" type="string" indexed="true" stored="true" required="true"/>
<field name="sku" type="text_en_splitting_tight" indexed="true" stored="true" omitNorms="true"/>
<field name="name" type="text_general" indexed="true" stored="true"/><field name="alphaNameSort" type="alphaOnlySort" indexed="true" stored="false"/>
<field name="manu" type="text_general" indexed="true" stored="true" omitNorms="true"/>
<field name="cat" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="features" type="text_en_splitting" indexed="true" stored="true" multiValued="true"/>
<field name="includes" type="text_general" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
<field name="weight" type="float" indexed="true" stored="true"/>
<field name="price" type="float" indexed="true" stored="true"/>
<field name="popularity" type="int" indexed="true" stored="true"/>
<field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="subject" type="text_general" indexed="true" stored="true"/>
<field name="description" type="text_general" indexed="true" stored="true"/>
<field name="inStock" type="boolean" indexed="true" stored="true"/>
もっと....
私が投稿したxmlファイルのスキーマには、タイトル、説明、価格など、上記のスキーマと共通するフィールドがいくつかあったので、残りのフィールドをschema.xmlに次のように入力しました
<field name="cid" type="int" indexed="false" stored="false"/>
<field name="discount" type="float" indexed="true" stored="true"/>
<field name="link" type="string" indexed="true" stored="true"/>
<field name="status" type="string" indexed="true" stored="true"/>
<field name="pubDate" type="string" indexed="true" stored="true"/>
<field name="image" type="string" indexed="false" stored="false"/>