ich NHibernate.Search in meine Web-App von folgenden Tutorials aus den folgenden Quellen integriert haben:Lucene.NET Indizes werden nicht aktualisiert, wenn sie mit many-to-many-Beziehungen zu tun NHibernate.Search mit
- NHibernate.Search using Lucene.NET Full Text Index (Part 1)
- Using NHibernate.Search with ActiveRecord
ich habe meine Datenbank auch erfolgreich Batch-indiziert, und wenn sie gegen Luke testen, kann ich nach Begriffen suchen, in was auch immer Entitäten residieren ich als Wende markiert.
Allerdings, wenn ich versuche, viele-zu-viele Entitäten über meine Webanwendung zu aktualisieren, scheint mein übergeordneter Index nicht zu aktualisieren. Zum Beispiel:
public class Books
{
HasAndBelongsToMany(typeof(Author), Table = "BookAuthor", ColumnKey = "BookId", ColumnRef = "AuthorId")]
[IndexedEmbedded]
public IList<Author> Authors
{
get { return authors; }
set { authors = value; }
}
}
public class Author
{
HasAndBelongsToMany(typeof(Book), Table = "BookAuthor", ColumnKey = "AuthorId", ColumnRef = "BookId"), Inverse=true]
[ContainedIn]
public IList<Author> Authors
{
get { return authors; }
set { authors = value; }
}
}
Jetzt, wenn ich versuche, Dinge wie myBook.Authors.Add(Author.Create("xxx"))
zu tun, kann ich sehen, dass mein Autor Index aktualisiert wurde, jedoch der Buchindex (das der übergeordnete Index) nicht aktualisiert wurde und die Suche nach Der neu hinzugefügte Autor gibt ein leeres Ergebnis zurück.
Beachten Sie, dass dies nur im Zusammenhang mit Viele-zu-Viele-Beziehungen geschieht.
Ich bin mir nicht sicher, warum das so ist. Hat jemand andere ähnliche Schwierigkeiten erlebt? Ich würde es begrüßen, wenn ich in die richtige Richtung zeigen könnte, Prost.
Wie sich herausstellt, NHibernate.Search möglicherweise nicht vollständig umgesetzt haben Indizierung many-to -viele Beziehungen. Jemand korrigiert mich, wenn ich falsch liege. – sgtsunshine