Solr(Lucene経由)は、フィールドがドキュメント内でインデックス付けされる方法を示すさまざまな方法をサポートします:インデックス付け、トークン化、保存、...
Solrに格納されているが、索引付けされていないフィールドを作成する方法を探しています。Sunspotでそれを達成する方法はありますか?
Solr(Lucene経由)は、フィールドがドキュメント内でインデックス付けされる方法を示すさまざまな方法をサポートします:インデックス付け、トークン化、保存、...
Solrに格納されているが、索引付けされていないフィールドを作成する方法を探しています。Sunspotでそれを達成する方法はありますか?
:stored => true
Sunspotの構成DSLは、多くのデフォルトタイプのオプションをサポートしています。保存された文字列の例では、最初の例よりもはるかに簡単です。
searchable do
string :name, :stored => true
end
これにより、Sunspotの標準スキーマにすでに存在name_ss
する以下に対応するフィールド名が生成されます。dynamicField
<dynamicField name="*_ss" stored="true" type="string" multiValued="false" indexed="true"/>
独自のカスタムを作成するfield
かdynamicField
、schema.xmlに保存してインデックスを作成せずに、Sunspot1.2:as
オプションを使用して対応するフィールド名を指定することもできます。
たとえば、上記のより詳細なバージョン。スキーマ内:
<dynamicField name="*_stored_string" type="string" indexed="false" stored="true" />
そしてあなたのモデルでは:
searchable do
string :name, :as => 'name_stored_string'
end
あなたが試すことができます :
http:// localhost:8983 / solr / admin / luke?numTerms = 0
そして、xpathで読み取るか、スキーマ属性値を持つこれらのフィールドを正規表現します。
<str name="I">Indexed</str>
<str name="T">Tokenized</str>
<str name="S">Stored</str>
次のようなものが得られます:
<lst name="field">
<str name="type">stringGeneralType</str>
<str name="schema">--SM---------</str>
</lst>