C# を使用して Sitecore 6.5 でカスタム インデックスを作成したいと考えています。私はこのリンクを読みました:Creating Index through .Config
しかし、.config ファイルではなく、C# を使用してカスタム インデックスを作成したいと考えています。何か助けはありますか?
C# を使用して Sitecore 6.5 でカスタム インデックスを作成したいと考えています。私はこのリンクを読みました:Creating Index through .Config
しかし、.config ファイルではなく、C# を使用してカスタム インデックスを作成したいと考えています。何か助けはありますか?
C# を使用してインデックスを「作成」することはできません。クエリを実行して C# で作業することしかできません。インデックスを「持つ」ためには、インデックスが存在する方法のプロパティを定義する構成を介して定義する必要があります。たとえば、含めるアイテムの種類、含めるフィールド、インデックス作成を開始するルート パスなどです。
Lucene.Net.Index.IndexWriter writer = new IndexWriter(_path, new StandardAnalyzer(), true);
writer.SetUseCompoundFile(true);
Lucene.NET.Documents.Document doc = new Document();
doc.Add(new Lucene.Net.Documents.Field("Field1Name", yourField1Value, Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.TOKENIZED));
doc.Add(new Lucene.Net.Documents.Field("Field2Name", yourField2Value, Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.TOKENIZED));
writer.AddDocument(doc);
writer.Optimize();
writer.Close();
"yourFieldsValue" はおそらく Sitecore Item[] から取得されますが、そうである必要はありません。_path を web.config に存在する非システム インデックスにポイントするか、そこに追加すると、任意のインデックス ビューア ツールで Sitecore コンテンツの結果を表示できます。このインデックスを利用するには、Lucene.Net.Search.IndexSearcher.Search() メソッドを使用します。