Solr:4.8.1、A や C のような単一の文字を格納する age というフィールドがあり、格納されるのはフィールドです
<field name="age" type="text_general" indexed="true" stored="true"/>
他の検索から結果を取得すると、フィールド age とその値を確認できますが、たとえば検索するage:*
と 0 件の結果が返されます。これは、私がこのフィールドを 1 か月間使用してきたときに最近発生したもので、正常に機能しましたが、何も返されません。スキーマを数回変更しましたが、このフィールドに関しては何もありません。考えられる唯一のことは、インポート元のmysqlデータベースのageフィールドに誤って無効な値を入力したことですが、それを修正して再インポートしたことです。
この問題を検索したところ、<defaultSearchField>
設定する必要があることがわかりましたが、それらの結果は古く、そのフィールドは現在減価償却されています。
編集:
私のデータ構成は次のとおりです。
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/gtw"
user="root"
password=""/>
<document>
<entity name="id" query="select id,price,title,description,main_image,retailer,link,age,gender,type,category,creation_date from solr_listings">
<field column="category" name="category" splitBy=","></field>
</entity>
</document>
</dataConfig>
デフォルトのサンプル スキーマと異なるのは、以下に追加したフィールドだけです。
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text_general" indexed="true" stored="true" />
<field name="description" type="text_general" indexed="true" stored="true"/>
<field name="retailer" type="text_general" indexed="true" stored="true"/>
<field name="category" type="text_general" indexed="true" stored="true" />
<field name="main_image" type="text_general" indexed="true" stored="true"/>
<field name="last_modified" type="date" indexed="true" stored="true"/>
<field name="link" type="string" indexed="true" stored="true" />
<field name="gender" type="text_general" indexed="true" stored="true"/>
<field name="age" type="text_general" indexed="true" stored="true"/>
<field name="type" type="text_general" indexed="true" stored="true" />
<field name="creation_date" type="date" indexed="true" stored="true" />
<field name="price" type="float" indexed="true" stored="true"/>