Вы можете преобразовать ByteBuffer в String и использовать indexOf, который может сработать.
ByteBuffer bb = /* non-direct byte buffer */
String text = new String(bb.array(), 0, bb.position(), bb.remaing());
int index = text.indexOf(searchText);
Это имеет нетривиальные издержки, поскольку создает строку. Альтернативой является перебор строки методом грубой силы, который будет быстрее, но на это потребуется время.