हैलो दोस्तों, मैं वर्तमान में एक सूची की दस्तावेज़ आवृत्ति खोजने के लिए सभी एचटीएमएल बॉडी को पार्स कर रहा हूं और मुझे यह त्रुटि क्यों मिल रही है

org.apache.lucene.queryParser.ParseException: Cannot parse '': Encountered "<EOF>" at line 1, column 0.

इनमें से एक की उम्मीद कर रहा था: ... "+"... "-"... "("... ""... ... ... ... ... "["... "{"... ... ... ""...

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)

और दस्तावेज़ आवृत्ति खोजने के लिए यह मेरा कोड है

और यह कहता है कि त्रुटि तब हुई जब ल्यूसीन क्वेरीस्ट्रिंग को पार्स करने का प्रयास करता है

जो मेरे कोड के इस खंड में है

Query query = parser.parse(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();
}
1
Carlo 13 जिंदा 2012, 07:59

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा लगता है कि queryString ऑब्जेक्ट खाली है। क्या आप इस विधि के इनपुट की जांच कर सकते हैं जहां से इसे लागू किया गया है।

2
John Topley 5 पद 2013, 14:07
आह हाँ यह बहुत खाली tq है। मैंने सोचा था कि यह पार्सर विशेष पात्रों का विश्लेषण नहीं कर सकता था। इसलिए मैं उलझन में हूँ क्यों। ओके टीक्यू बीटीडब्ल्यू
 – 
Carlo
13 जिंदा 2012, 10:22