Mark,
I have had no luck reproducing this, but I have a test for documentation:
Code:
public class FullTextIndexTests {
@Autowired
private TeamRepositoryExtension teams;
@Test
public void shouldIndexProperly() throws Exception {
teams.save(new Team("Los Angeles Lakers"));
teams.save(new Team("Los Angeles Dodgers"));
teams.save(new Team("Los Angeles Clippers"));
teams.save(new Team("Boston Celtics"));
teams.save(new Team("Los Angeles Kings"));
teams.save(new Team("Brooklyn Dodgers"));
teams.save(new Team("Los Angeles Galaxy"));
teams.save(new Team("Charlotte Bobcats"));
assertThat(find("Los"), is(equalTo(5)));
assertThat(find("les"), is(equalTo(0)));
assertThat(find("lOS"), is(equalTo(5)));
assertThat(find("Dodgers"), is(equalTo(2)));
assertThat(find("odgers"), is(equalTo(0)));
assertThat(find("*odgers"), is(equalTo(2)));
assertThat(find("*odg*"), is(equalTo(2)));
assertThat(find("Dodger"), is(equalTo(0)));
assertThat(find("Dodger?"), is(equalTo(2)));
assertThat(find("Ang*"), is(equalTo(5)));
assertThat(find("B*"), is(equalTo(3)));
}
private int find(String name) {
return teams.findByName(name, new PageRequest(0, 20)).getNumberOfElements();
}
}
Entity and repo look thus:
Code:
@NodeEntity
public class Team {
@GraphId
private Long id;
@Indexed(indexName = "somethingdifferent", indexType = IndexType.FULLTEXT)
private String name;
public Team() {
}
public Team(String name) {
this.name = name;
}
}
public interface TeamRepository extends GraphRepository<Team> {
}
public interface TeamRepositoryExtension extends TeamRepository {
Page<Team> findByName(String name, Pageable pageable);
}
Lucene terms and wildcars are explained in more details here: http://lucene.apache.org/core/3_6_0/...sersyntax.html
Hope that helps - if you are able to reproduce the problem with a test I can take another look.
Regards,
Lasse