Volltextsuche in Mongodb mit Hibernate Ogm

Ich möchte die Volltextsuche mit Hibernate OGM in MongoDB implementieren. Ich habe den Code geschrieben, aber der Code gibt mir ein leeres Ergebnis zurück. Ich habe zwei Dateien überprüft, die von Lucene mit Luke erstellt wurden, aber es scheint, dass beide leer sind. Ich weiß nicht, was die Ursache meines Problems ist.

Ich habe die Volltextsuche in meiner Sammlung mit diesem Befehl aktiviert:

db.adminCommand( { setParameter : "*", textSearchEnabled : true } );

und auch ich habe den index auf den gelegtBenutzeridentifikation Feld in der Benutzersammlung.

db.Users.ensureIndex({UserID:1 })

Ich habe auch diese Entitätsklasse:

@Entity
@Indexed
@Table(name="Users")
@GenericGenerator(name="mongodb_uuidgg",strategy = "uuid2")
public class User implements Serializable{
    private static final long serialVersionUID=1L;
    @DocumentId
    private String  id;

    @Column(name="City")
    @Field(index = Index.NO,analyze = Analyze.YES,store = Store.YES)
    private String city;

    @Column(name="UserID")
    @NumericField
    @Field(index = Index.YES,analyze = Analyze.NO,store = Store.YES)
    private int IdU;

und in meiner DAO Klasse:

OgmConfiguration cfgogm=new OgmConfiguration();
cfgogm.configure("hibernate.cfg.xml");
serviceregistry=new ServiceRegistryBuilder().applySettings(cfgogm.getProperties()).buildServiceRegistry();
sessionfactory=cfgogm.buildSessionFactory(serviceregistry);  

sessionfactory.openSession();
FullTextSession fulltextsession= Search.getFullTextSession(sessionfactory.getCurrentSession());
QueryBuilder querybuilder=fulltextsession.getSearchFactory().buildQueryBuilder().forEntity(User.class).get();
org.apache.lucene.search.Query lucenequery=querybuilder.keyword().onField("IdU").matching(new Integer(87709)).createQuery();

org.hibernate.search.FullTextQuery fulltextquery=fulltextsession.createFullTextQuery( lucenequery,User.class );
fulltextquery.initializeObjectsWith(ObjectLookupMethod.SKIP, DatabaseRetrievalMethod.FIND_BY_ID);
List result=fulltextquery.list();
System.out.println(result.size());

Wenn ich die segment.gen mit Luke öffne, sehe ich diese Information:

Könnten Sie mir bitte helfen, dieses Problem zu lösen? oder wie kann ich Volltextsuche mit Hibernate und Lucene mit MongoDB implementieren

ich danke dir sehr

Antworten auf die Frage(1)

Ihre Antwort auf die Frage