Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Lucene + jBoss Seam поиск с другими условиями


Автор: Stifler 21.7.2009, 09:55
Приветствую!

смотрел примеры по полнотекстовому поиску в jBoss Seam
Вот выдержка из кода:
Код

import org.hibernate.search.jpa.FullTextEntityManager;
import org.hibernate.search.jpa.FullTextQuery;

@Name("searchAction")
@Scope(ScopeType.CONVERSATION)
public class SearchAction {
 
 // we are using the Seam-managed persistence context, with a twist
     @In private FullTextEntityManager entityManager;

    private List resultList;
    public List getResultList() { return resultList; }

    public void search() {
        final MultiFieldQueryParser parser = new MultiFieldQueryParser(
                new String[] { "content" }, new StandardAnalyzer());
        try {

            final org.apache.lucene.search.Query luceneQuery = 
                    parser.parse(queryString);
            final FullTextQuery ftq = 
                    entityManager.createFullTextQuery(luceneQuery, Blog.class);
            resultList = ftq.getResultList();
        } catch (ParseException ex) {
            logger.log(Level.SEVERE, "Search terms: " + queryString, ex);
            return;
        }
    }


понятно, что поиск осуществляется по полю content класса Blog.
Можно ли сделать, чтобы объекты Blog искались по полю content полнотекстовым поиском, а по другим полям этого объекта обычным образом. 
Например, надо найти объекты Blog, у которых content "похож" на some_content, при этом id объекта было IN (1, 3, 5).
Можно это в одну query запихнуть или надо по-отдельности: сначала найти по content объекты, а потом дальше их фильтровать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)