Я хочу выполнить поиск по трем полям моего индекса: title, authorName и Description;
Мой поиск выглядит следующим образом:
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(QueryBuilders.multiMatchQuery(criteria)
.field("title")
.field("authorName")
.field("description")
.type(MultiMatchQueryBuilder.Type.BEST_FIELDS))
.withPageable(PageRequest.of(page, size))
.build();
Page<Ebook> ebookList = ebookRepo.search(searchQuery);
У меня есть эти документы, проиндексированные:
{
"took" : 12,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 5,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "ebook",
"_type" : "ebook",
"_id" : "9",
"_score" : 1.0,
"_source" : {
"id" : 9,
"size" : null,
"numberOfPages" : 10,
"companyId" : 656,
"price" : 10.0,
"title" : "Welcome to my life",
"authorName" : "JB2",
"description" : "Welcome to my life 3",
"language" : "FR",
"ebookPath" : null,
"ebookDownloadUrl" : null,
"rating" : {
"ratingId" : 10,
"average" : 5.0,
"starsByUserId" : {
"131" : 5
},
"stars" : {
"5" : 1
}
},
"coverPath" : null,
"coverDownloadUrl" : null,
"iconPath" : null,
"iconDownloadUrl" : null,
"category" : {
"id" : 1,
"name" : "Webtoon",
"subCategoryList" : [ ]
},
"subCategory" : {
"id" : 2,
"name" : "Adventure"
},
"repositoryGeneratedId" : "1588336718863",
"userReview" : [
{
"id" : 11,
"comment" : "I dont like it. I give 5 stars",
"commentDate" : 1588336718989,
"appUserId" : 131,
"stars" : 5
}
],
"status" : "INITIATED"
}
},
{
"_index" : "ebook",
"_type" : "ebook",
"_id" : "5",
"_score" : 1.0,
"_source" : {
"id" : 5,
"size" : null,
"numberOfPages" : 10,
"companyId" : 2,
"price" : 10,
"title" : "Welcome to my life",
"authorName" : "kosted 3",
"description" : "Ceci est une autre description 3",
"language" : "FR",
"ebookPath" : null,
"ebookDownloadUrl" : null,
"rating" : {
"ratingId" : 6,
"average" : 0.0,
"starsByUserId" : { },
"stars" : { }
},
"coverPath" : null,
"coverDownloadUrl" : null,
"iconPath" : null,
"iconDownloadUrl" : null,
"category" : {
"id" : 1,
"name" : "Webtoon"
},
"subCategory" : {
"id" : 2,
"name" : "Adventure"
},
"repositoryGeneratedId" : "1588372761403",
"userReview" : [ ],
"status" : "INITIATED"
}
},
{
"_index" : "ebook",
"_type" : "ebook",
"_id" : "3",
"_score" : 1.0,
"_source" : {
"id" : 3,
"size" : null,
"numberOfPages" : 10,
"companyId" : 2,
"price" : 10,
"title" : "Welcome to my life",
"authorName" : "kosted 2",
"description" : "Ceci est une autre description 2",
"language" : "FR",
"ebookPath" : null,
"ebookDownloadUrl" : null,
"rating" : {
"ratingId" : 4,
"average" : 0.0,
"starsByUserId" : { },
"stars" : { }
},
"coverPath" : null,
"coverDownloadUrl" : null,
"iconPath" : null,
"iconDownloadUrl" : null,
"category" : {
"id" : 1,
"name" : "Webtoon"
},
"subCategory" : {
"id" : 2,
"name" : "Adventure"
},
"repositoryGeneratedId" : "1588372758036",
"userReview" : [ ],
"status" : "INITIATED"
}
},
{
"_index" : "ebook",
"_type" : "ebook",
"_id" : "6",
"_score" : 1.0,
"_source" : {
"id" : 6,
"size" : null,
"numberOfPages" : 10,
"companyId" : 655,
"price" : 10,
"title" : "Welcome to my life",
"authorName" : "JBB",
"description" : "Welcome to my life 2",
"language" : "FR",
"ebookPath" : null,
"ebookDownloadUrl" : null,
"rating" : {
"ratingId" : 7,
"average" : 0.0,
"starsByUserId" : { },
"stars" : { }
},
"coverPath" : null,
"coverDownloadUrl" : null,
"iconPath" : null,
"iconDownloadUrl" : null,
"category" : {
"id" : 1,
"name" : "Webtoon",
"subCategoryList" : [ ]
},
"subCategory" : {
"id" : 2,
"name" : "Adventure"
},
"repositoryGeneratedId" : "1588336718576",
"userReview" : [ ],
"status" : "INITIATED"
}
},
{
"_index" : "ebook",
"_type" : "ebook",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"id" : 1,
"size" : null,
"numberOfPages" : 10,
"companyId" : 2,
"price" : 10,
"title" : "Welcome to my life",
"authorName" : "kosted",
"description" : "Book about my life",
"language" : "FR",
"ebookPath" : null,
"ebookDownloadUrl" : null,
"rating" : {
"ratingId" : 2,
"average" : 0.0,
"starsByUserId" : { },
"stars" : { }
},
"coverPath" : null,
"coverDownloadUrl" : null,
"iconPath" : null,
"iconDownloadUrl" : null,
"category" : {
"id" : 1,
"name" : "Webtoon"
},
"subCategory" : {
"id" : 2,
"name" : "Adventure"
},
"repositoryGeneratedId" : "1588372748126",
"userReview" : [ ],
"status" : "INITIATED"
}
}
]
}
}
Когда я выполняю поиск по термину "JB" или "jb", даже "JB2", я получаю 0 результатов, когда есть электронные книги с authorName JB2.
Я использую Spring 2.2.4.RELEASE и данные весны elasti c поиск 3.2.4. РЕЛИЗ. Что я сделал не так в своем коде? Есть идеи о том, как я могу это исправить? Заранее спасибо