Литература Введение Lucene Обзор
Сортировка результатов поиска
Download 219.91 Kb.
|
1 sam top
- Bu sahifa navigatsiya:
- 8. Удалить документы из индекса
- 9. Заключение
7. Сортировка результатов поискаМы также можем отсортировать документы результатов поиска по определенным полям: @Test public void givenSortFieldWhenSortedThenCorrect() { InMemoryLuceneIndex inMemoryLuceneIndex = new InMemoryLuceneIndex(new RAMDirectory(), new StandardAnalyzer()); inMemoryLuceneIndex.indexDocument("Ganges", "River in India"); inMemoryLuceneIndex.indexDocument("Mekong", "This river flows in south Asia"); inMemoryLuceneIndex.indexDocument("Amazon", "Rain forest river"); inMemoryLuceneIndex.indexDocument("Rhine", "Belongs to Europe"); inMemoryLuceneIndex.indexDocument("Nile", "Longest River"); Term term = new Term("body", "river"); Query query = new WildcardQuery(term); SortField sortField = new SortField("title", SortField.Type.STRING_VAL, false); Sort sortByTitle = new Sort(sortField); List documents = inMemoryLuceneIndex.searchIndex(query, sortByTitle); assertEquals(4, documents.size()); assertEquals("Amazon", documents.get(0).getField("title").stringValue()); } Мы попытались отсортировать выбранные документы по полям заголовка, которые являются названиями рек. Логический аргумент конструктораSortField предназначен для изменения порядка сортировки на обратный. 8. Удалить документы из индексаДавайте попробуем удалить некоторые документы из индекса на основе заданногоTerm: // ... IndexWriterConfig indexWriterConfig = new IndexWriterConfig(analyzer); IndexWriter writer = new IndexWriter(memoryIndex, indexWriterConfig); writer.deleteDocuments(term); // ... Мы проверим это: @Test public void whenDocumentDeletedThenCorrect() { InMemoryLuceneIndex inMemoryLuceneIndex = new InMemoryLuceneIndex(new RAMDirectory(), new StandardAnalyzer()); inMemoryLuceneIndex.indexDocument("Ganges", "River in India"); inMemoryLuceneIndex.indexDocument("Mekong", "This river flows in south Asia"); Term term = new Term("title", "ganges"); inMemoryLuceneIndex.deleteDocument(term); Query query = new TermQuery(term); List documents = inMemoryLuceneIndex.searchIndex(query); assertEquals(0, documents.size()); } 9. ЗаключениеЭта статья была кратким введением в работу с Apache Lucene. Также мы выполняли различные запросы и сортировали найденные документы. Download 219.91 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling