У меня есть запрос, который при получении слова, начинающегося с однобуквенного слова, за которым следует пробел, а затем другое слово (например, «T Distribution»), не возвращает результатов.В то время как заданный «Распределение» возвращает только результаты, включая результаты для «T Распределение».Это то же самое поведение со всеми поисковыми терминами, начинающимися с однобуквенного слова, за которым следует пробел, а затем другое слово.
Проблема возникает, когда поисковый термин имеет такой шаблон: "[однобуквенный] [пробел] [буква / слово]».пример: "o ring".
В чем может быть проблема, если оператор LIKE не работает правильно в этом случае?
Вот мой запрос:
@Cacheable(value = "filteredConcept")
@Query("SELECT NEW sina.backend.data.model.ConceptSummaryVer04(s.id, s.arabicGloss, s.englishGloss, s.example, s.dataSourceId,
s.synsetFrequnecy, s.arabicWordsCache, s.englishWordsCache, s.superId, s.categoryId, s.dataSourceCacheAr, s.dataSourceCacheEn,
s.superTypeCasheAr, s.superTypeCasheEn, s.area, s.era, s.rank, s.undiacritizedArabicWordsCache, s.normalizedEnglishWordsCache,
s.isTranslation, s.isGloss, s.arabicSynonymsCount, s.englishSynonymsCount) FROM Concept s
where s.undiacritizedArabicWordsCache LIKE %:searchTerm% AND data_source_id != 200 AND data_source_id != 31")
List<ConceptSummaryVer04> findByArabicWordsCacheAndNotConcept(@Param("searchTerm") String searchTerm, Sort sort);
theрезультат запроса к самой базе данных: ссылка на скриншот
результаты в базе данных возвращаются независимо от регистра букв: ссылка на скриншот