2016-05-04 6 views
0

私はDOT NET MVCを使用して開発された電子商取引Webアプリケーションに取り組んでいます。私はSolrを使用して製品の詳細を索引付けします。そこで私はProduct関連フィールドをSolr Schemaファイルに言及しました。よくある質問SearchTerm to Solr

SearchTermをSolrにインデックスしたいと思います。このために、私のスキーマファイルは製品固有のものであるため、検索/保存するために私のスキーマファイルを管理する方法はありますか?

誰でもお勧めしますか?

+0

SearchTermは何ですか...? schema.xmlに追加する別のフィールドですか? –

+0

は、ユーザーがアプリケーションの検索ボックスから検索したものです。はい、私はこのsearchtermのインデックスを作成する必要があるので、私は同様にフィールドを追加する必要がありますね。しかし、すべてのフィールドが製品固有のものであるため、既存のスキーマファイルにフィールドを追加するのは良い方法ではないと思っていました。どうすれば管理できますか? – Ankita

+0

これには別のコアを用意し、新しいschema.xmlを定義することもできますし、既存のschema.xmlを使用する場合は、動的なフィールドを利用して将来的に気にする必要がないようにすることもできますフィールドを追加する必要があります.. –

答えて

1

schema.xmlを別のコアに設定することもできます。既存のschema.xmlを使用する場合は、dynamic fieldsを使用して、今後別のフィールド追加する必要があります。

動的フィールドを使用できます。

動的フィールドでは、スキーマで明示的に定義しなかったフィールドのインデックスを作成できます。

これは、1つ以上のフィールドを定義することを忘れてしまった場合に便利です。動的フィールドを使用すると、Solrに追加できるドキュメントに柔軟性を持たせることで、アプリケーションを脆弱にすることがあります。

ダイナミックフィールドは、ワイルドカードを含む名前を除いて、通常のフィールドと同じです。文書を索引付けするとき、明示的に定義されたフィールドと一致しないフィールドは、動的フィールドと一致させることができます。

たとえば、スキーマに名前が*_iの動的フィールドが含まれているとします。

あなたはcost_iフィールドでインデックスにドキュメントを試みますが、明示的なcost_iフィールドはスキーマで定義されていない場合、cost_iフィールドが*_i用に定義されたフィールドタイプと分析しています。

通常のフィールドと同様に、動的フィールドには名前、フィールドタイプ、およびオプションがあります。

<dynamicField name="*_i" type="int" indexed="true" stored="true"/> 
+0

最後にコメントしてください。 SearchTermとCatIdでダイナミックフィールドを定義するにはどうすればよいですか? – Ankita

+0

for catId ... ... –

+0

searchTermのフィールド名は何ですか? search_Termの場合、を定義できます。 –