私はSolrとの統合を開始し、問題として認識していることに遭遇しました。Java APIを使用して簡単なスプレッドシートをアップロードしました(これが演習です:
- Document, id, value
- Excel3, name, steelers
- Excel3, subject, pirates
- Excel3, description, penguins
- Excel3, comments, panthers
- Excel3, author, panthers
)。
これを使用して、最初の列を「ドキュメント名」として使用し、2番目の列をインデックスを作成するドキュメントのフィールドとして使用し、3番目の列をインデックス付きデータとして使用しました。これらのフィールドはすべてschema.xmlにすでに存在しますが、設定方法は次のとおりです。
<field name="id" type="string" indexed="true" stored="true" required="true" />
<field name="name" type="text_general" indexed="true" stored="true"/>
<field name="subject" type="text_general" indexed="true" stored="true"/>
<field name="description" type="text_general" indexed="true" stored="true"/>
<field name="comments" type="text_general" indexed="true" stored="true"/>
<field name="author" type="text_general" indexed="true" stored="true"/>
ここで私の問題が発生します。たとえばスティーラーズを検索すると、元に戻りますが、ペンギンや他の多くのフィールドを検索しても、結果が返されません。ただし、description:penguinsを実行すると、期待どおりに結果が返されます。
:の前の部分が一部のフィールドに必要であるが、他のフィールドには必要ない理由を誰かが理解するのを手伝ってもらえますか?
検索例:solr / select?indent = on&q = penguins&wt =xml----結果を返しません
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="indent">on</str>
<str name="q">penguins</str>
<str name="wt">xml</str>
</lst>
</lst>
<result name="response" numFound="0" start="0"/>
</response>
solr / select?indent = on&q = description:penguins&wt = xml
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">18</int>
<lst name="params">
<str name="indent">on</str>
<str name="q">description:penguins</str>
<str name="wt">xml</str>
</lst>
</lst>
<result name="response" numFound="1" start="0">
<doc>
<str name="author">panthers</str>
<str name="comments">panthers</str>
<str name="description">penguins</str>
<str name="id">Excel3</str>
<str name="name">steelers</str>
<str name="subject">pirates</str>
</doc>
</result>
</response>