Hello guys I am currently parsing all the html body
for finding the document frequency of a list containing a words
and why I keep getting this error
org.apache.lucene.queryParser.ParseException: Cannot parse '': Encountered "<EOF>" at line 1, column 0.
Was expecting one of:
…
“+” …
“-” …
“(” …
“” …
…
…
…
…
“[” …
“{” …
…
…
“” …
at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:211)
at CalculateWeightTable.search(CalculateWeightTable.java:221)
at CalculateWeightTable.calculate(CalculateWeightTable.java:134)
at FocusedCrawlingMain.Search(FocusedCrawlingMain.java:64)
at View.actionPerformed(View.java:219)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
and this is my code for finding the document frequency
and it says that the error was when the lucene try to parse the queryString
which is at this section of my code
Query query = parser.parse(queryString);
I dont know why it keep giving me error while parsing the queryString
private static int search(Searcher searcher, String queryString)
throws ParseException, IOException {
// Build a Query object
StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, "content",
analyzer);
Query query = parser.parse(queryString);
// Search for the query
TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
searcher.search(query, collector);
ScoreDoc[] hit = collector.topDocs().scoreDocs;
int hitsCount = hit.length;
if (hitsCount == 0) {
//System.out.println("No matches were found for \"" + queryString+ "\"");
} else {
//System.out.println("hit count : " + collector.getTotalHits());
}
return collector.getTotalHits();
}
Looks like queryString object is empty. Can you check the inputs to this method from where it’s invoked.