3
Использование:Как искать с несколькими параметрами в спящем Поиск 3.0.0.ga
- Hibernate 3.2.7.ga
- Hibernate-Search 3.0.0.ga
- Hibernate-АННОТАЦИИ 3,3. 0.ga
- Hibernate-фонда-Cnnotations 3.0.0.ga
- Lucene-Core 2.9.4
- Lucene-анализаторы 2.9.4
- Lucene-Queryparser 2.9.4
Как можно искать с несколькими параметрами, такими как:
SELECT *
FROM example
WHERE column1 = "text1"
AND (column2 = "text2" OR column2 ="text3")
С Hibernate-Search documentation я только обнаружил, что пример поиска:
Session session = universalHibernateDAO.getHibernateSession();
FullTextSession fullTextSession = Search.createFullTextSession(session);
Transaction tx = fullTextSession.beginTransaction();
StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_29);
MultiFieldQueryParser parser = new MultiFieldQueryParser(Version.LUCENE_29,
new String[]{"summary", "body"}, analyzer);
org.apache.lucene.search.Query query = parser.parse("Java rocks!");
Query hibQuery = fullTextSession.createFullTextQuery(query, PscpExpedient.class);
List<PscpExpedient> result = (List<PscpExpedient>)hibQuery.list();
tx.commit();
Будет идеально, если существуют каким-то образом сделать что-то вроде:
org.apache.lucene.search.Query query = parser.parse("column1: text1",
"column2: text2 | text3");
Кроме того, если это возможно, будет приятно знать, как поиск «onlyOneword» и «text with multiple spaces»
Спасибо!
Я попробую кое-что спросить. Спасибо за быстрый ответ. –
Работал. Большое спасибо за вашу помощь ^.^ –
Добро пожаловать, спасибо тоже –