Suggested Patches to MultiPhraseQuery and QueryTermExtractor (for use with
HighLighter)
---------------------------------------------------------------------------------------
Key: LUCENE-495
URL: http://issues.apache.org/jira/browse/LUCENE-495
Project: Lucene - Java
Type: Improvement
Components: Search
Versions: 1.9
Environment: All
Reporter: Michael Harhen
I encountered a problem with the Highlighter, where it was not recognizing
MultiPhraseQuery.
To fix this, I developed the following two patches:
=====================================================
1. Addition to org.apache.lucene.search.MultiPhraseQuery:
Add the following method:
/** Returns the set of terms in this phrase. */
public Term[] getTerms() {
ArrayList allTerms = new ArrayList();
Iterator iterator = termArrays.iterator();
while (iterator.hasNext()) {
Term[] terms = (Term[])iterator.next();
for (int i = 0, n = terms.length; i < n; ++i) {
allTerms.add(terms[i]);
}
}
return (Term[])allTerms.toArray(new Term[0]);
}
=====================================================
2. Patch to org.apache.lucene.search.highlight.QueryTermExtractor:
a) Add the following import:
import org.apache.lucene.search.MultiPhraseQuery;
b) Add the following code to the end of the getTerms(...) method:
else if(query instanceof MultiPhraseQuery)
getTermsFromMultiPhraseQuery((MultiPhraseQuery) query, terms,
fieldName);
}
c) Add the following method:
private static final void getTermsFromMultiPhraseQuery(MultiPhraseQuery query,
HashSet terms, String fieldName)
{
Term[] queryTerms = query.getTerms();
int i;
for (i = 0; i < queryTerms.length; i++)
{
if((fieldName==null)||(queryTerms[i].field()==fieldName))
{
terms.add(new WeightedTerm(query.getBoost(),queryTerms[i].text()));
}
}
}
=====================================================
Can the team update the repository?
Thanks
Michael Harhen
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]