2017-03-02 14 views
0

私は最後のリリースのjhîpster(4.0.7)とspringデータmongodbでいくつかの全文検索をしようとしています。 MongoDB JHIPSTER/SPRING DATA MONGODBを使った全文検索

は私がCrudRepository拡張リポジトリ作成:

public interface PublicSearchRepository extends CrudRepository<Transcriptionrequest, String> { 

    Page<Transcriptionrequest> findBy(TextCriteria textCriteria, Pageable pageable); 

をし、次のようにクエリを適用します。

TextCriteria textCriteria = TextCriteria.forDefaultLanguage().caseSensitive(Boolean.FALSE); 
     textCriteria.matching(query); 

Page<Transcriptionrequest> page = publicSearchRepository.findBy(textCriteria, pageable); 

私のオブジェクトが注釈でインデックス化され

@Document(collection = "transcriptionrequest") 
public class Transcriptionrequest implements Serializable { 

    private static final long serialVersionUID = 1L; 

    @TextScore 
    private Float score; 

    @Id 
    private String id; 

    @Field("request_id") 
    private String request_id; 

    @NotNull 
    @Field("song_name") 
    @TextIndexed(weight = 2) 
    private String song_name; 

私がしよう検索するには、私はいつもこのエラーがあります:

org.springframework.data.mongodb.UncategorizedMongoDbException: Query failed with error code 4 and error message 'Missing expected field "$search"' on server localhost:27017; nested exception is com.mongodb.MongoQueryException: Query failed with error code 4 and error message 'Missing expected field "$search"' on server localhost:27017 
    at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:107) 
    at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:2134) 
    at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1977) 
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1783) 
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1766) 
    at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:640) 

私が質問を持っているmongoクラスのログレベルを上げたとき。検索フィールドは送信されません。

Created query Query: { }, Fields: null, Sort: null 
2017-03-02 22:53:45.625 DEBUG 6428 --- [ XNIO-2 task-20] o.s.data.mongodb.core.MongoTemplate  : find using query: { "$text" : { "$caseSensitive" : false}} fields: { "score" : { "$meta" : "textScore"}} for class: class info.touret.songtranscriptmarket.domain.Transcriptionrequest in collection: transcriptionrequest 
2017-03-02 22:53:45.626 DEBUG 6428 --- [ XNIO-2 task-20] o.s.data.mongodb.core.MongoDbUtils  : Getting Mongo Database name=[songtranscriptmarket] 

どうすれば修正できますか?

ご協力ありがとうございました

+0

'TextCriteria' objを作成する場所にコードを追加できますか?あなたの春のmongo dbバージョンは何ですか? – Veeram

+0

こんにちは、私はtextcriteriaの作成で投稿を更新しました –

+1

'TextCriteria'作成の部分はうまく見え、' query'が一致する値であり、正しい値を持っていることを確認していますか? – Veeram

答えて

0

私のクエリはnullに等しいです。 この場合、フレームワークは$ search属性を満たしません。