/** * Builds a phrase query over the text field specified by elements. * * @param elements specifies the text field in which to search * @param searchString * @return */ public QueryBuilder setPhraseQuery(TextFieldElements elements, String searchString) { return setPhraseQuery(elements.getTextFieldName(), searchString); }
/** * Builds a MoreLikeThis query for the specified luceneId over the * text field specified by the TextFieldElements. * * @param elements * @param luceneId * @return * @throws DaoException */ public QueryBuilder setMoreLikeThisQuery(TextFieldElements elements, int luceneId) throws DaoException { return setMoreLikeThisQuery(elements.getTextFieldName(), luceneId); }
/** * Returns the name of the text field representing only the plain text. * * @return */ public static String getPlainTextFieldName() { return new TextFieldElements().addPlainText().getTextFieldName(); }
/** * Returns the name of the text field representing only redirected titles. * * @return */ public static String getRedirectsFieldName() { return new TextFieldElements().addRedirects().getTextFieldName(); }
/** * Returns the name of the text field representing only the title, once. * * @return */ public static String getTitleFieldName() { return new TextFieldElements().addTitle().getTextFieldName(); }
private TextField buildTextField(LocalPage localPage, RawPage rawPage, TextFieldElements elements) throws DaoException { StringBuilder sb = new StringBuilder(); String title = rawPage.getTitle().getCanonicalTitle(); for (int i=0; i<elements.usesTitle(); i++) { sb.append(title); sb.append(" "); } if (elements.usesRedirects()) { TIntIterator iterator = redirectDao.getRedirects(localPage).iterator(); while (iterator.hasNext()) { sb.append(localPageDao .getById(localPage.getLanguage(), iterator.next()) .getTitle() .getCanonicalTitle()); sb.append(" "); } } if (elements.usesPlainText()) { String plainText = rawPage.getPlainText(); sb.append(plainText); } return new TextField(elements.getTextFieldName(), sb.toString().trim(), Field.Store.YES); }