Hibernate Search работает в одной среде, но не в других - PullRequest
0 голосов
/ 25 июня 2011

это моя первая попытка поиска в спящем режиме, поэтому я новичок в этом.У меня была сущность, которую я сделал индексированным, чтобы я мог искать в поле имени.он работает на моей машине и у моих товарищей по команде всякий раз, когда они ищут что-либо, он возвращает 0 результатов, хотя есть и другие части поиска в спящем режиме, которые прекрасно работают в конце

запрос, который я использовал, выглядит следующим образом

public List<Agency> findByText(String text) {
        FullTextEntityManager ftManager = org.hibernate.search.jpa.Search.getFullTextEntityManager(entityManager);
    try {
        return ftManager
                .createFullTextQuery(
                        new MultiFieldQueryParser(new String[] { "name" }, new StandardAnalyzer()).parse(text
                                + "*"), Agency.class).getResultList();
    } catch (ParseException e) {
        log.error("Exception has occurred when trying to execute search", e);
    }

    return Collections.emptyList();
}

агентство

@Entity
@Indexed
@Table(
        name="Agency",
        uniqueConstraints=
            @UniqueConstraint(columnNames={"id", "name"})
    )
public class Agency {

    @Id
    @GeneratedValue
    private Long id;

    @Field(index = Index.TOKENIZED, store = Store.NO)
    private String name;

1 Ответ

1 голос
/ 25 июня 2011

Я рекомендую вам изучить индексы Lucene, используя Luke . Это позволит вам увидеть, что проиндексировано, и, следовательно, что вы можете ожидать получить.

Возможно, вы неправильно настроили свои транзакции и что изменения в базе данных не отражаются в ваших индексах.

Кроме того, если вы новичок в поиске Hibernate, интересно и поучительно посмотреть, что на самом деле содержат индексы.

...