как выделить текст в поиске Lucene - PullRequest
2 голосов
/ 16 декабря 2011

Я использую Lucene для поиска текста в документе.Может кто-нибудь сказать мне, как написать код, который выделяет текст в документе?Я использую код ниже, но он не работает.

Analyzer analyzer = new SnowballAnalyzer("English");
File file = new File("/sdcard/index1/");

indexSearcher = new IndexSearcher(indexDir, true);
QueryParser parser = new QueryParser(Version.LUCENE_29,"DIG", analyzer);
Query query = parser.parse(mEdit.getText().toString());
ScoreDoc[] hits = indexSearcher.search(query, null, 1000).scoreDocs;
assertEquals(hits.length, "Description");
int itemCount = hits.length;
if (itemCount != 0) {
for (int i = 0; i < itemCount; i++) {
objSearchResult = new SearchResults();
Document hitDoc = indexSearcher.doc(hits[i].doc);
og.i("TestAndroidLuceneActivity", "Lucene: "
hitDoc.get("Description"));

Я могу отобразить текст, который я ищу, и отобразить документ.Но я не могу выделить его в документе.

1 Ответ

1 голос
/ 16 декабря 2011

Я не думаю, что это так работает. Lucene выделяет слова в текстах для результатов поиска.

Это может помочь http://lucene.apache.org/java/2_9_1/api/contrib-highlighter/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...