私はコレクションを持ったエンティティを持っています。インデックスを作成したいと思いますが、これについてどう考えているのか分かりません。問題は、私が動的索引と同じ方法で検索することを望んでいることです。Luceneを使用しています。しかし、複雑なオブジェクトではありません。簡単な例。RavenDB - 適切なコレクションのためのインデックスを設定するLuceneQuery
{
Id: "object/id",
Items: [
{ Id: "1", Name: "One" },
{ Id: "2", Name: "Two" },
{ Id: "3", Name: "Three" }
]
}
そして私はのLuceneで、簡単にカラス動的インデックスインデックスに建てを照会することができます。
アイテム、名称:「ワン」
これは、クリーンで効率的な、そして私がする必要があるいくつかのもののための完璧なようだが、私は自分のインデックスで動作を再現しようとすると失敗していますかなり悪いです。私はフィールドにインデックスを付けるよう指示しますが、それでも私はそれを呼び出すことを拒否します。
public class Things_ByItemProperties : AbstractIndexCreationTask<Thing>
{
public Things_ByItemProperties()
{
Map = things => from thing in things
select new
{
Id = thing.Id,
Items = thing.Items
};
Index(n => n.Items, FieldIndexing.Analyzed);
}
}
インデックスのコレクションの特定の部分を追加することができます。
public class Things_ByItemProperties : AbstractIndexCreationTask<Thing>
{
public Things_ByItemProperties()
{
Map = things => from thing in things
select new
{
Id = thing.Id,
Items = thing.Items,
Items_Name = this.Select(r => r.Name)
};
Index(n => n.Items, FieldIndexing.Analyzed);
}
}
が、それは私がやろうとしているものではありません、私はずっと動的インデックスのようなのLuceneでそれを照会するように設定しようとしていました。これができる方法はありませんか?
私は問題を抱えており、これを終了する必要があるのを忘れてしまった。私があなたに今信用を授与した場合でも、賞金からボーナスポイントを得ることはできますか?それとも、ポイントをもう一度開いて再オープンする必要がありますか? – Ciel
問題ありません。私は賞金に勝てないと思うが、それは問題ない。これがちょうど答えとしてマークするのを助けたら。あなたが最初にやろうとしていたことをやることができましたか? –
申し訳ありませんが...私はついにこれに戻ってきています。いいえ、私は "その人"になるつもりはありません。私が賞金をもう一度払い、あなたの回答クレジットを授与されたら、それは効くでしょうか? – Ciel