Другое событие NullPointerException
возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.
String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals
для гарантированного непустого объекта.
Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null
.
Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.
String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
System.out.println(phrase.equals(keyPhrase));
}
Это - трудный вопрос, и компании как Google продвигают много усилий рассмотреть этот вопрос. Взгляните на Поиск Предприятия Google Enterprise Search Appliance или Exalead .
Затем как личное мнение, я не думаю, что любой "наивный" подход собирается улучшить очень результат по сравнению с наивным поиском по ключевым словам и упорядочиванием количеством представлений о документах.
, Если у Вас есть возможность выставить Вашу базу знаний сети, затем, просто сделайте это и позвольте Вашим любимым дескрипторам поисковой системы поиск Вас.
поиск по ключевым словам недостаточно при контакте с вопросами, необходимо понять намерение, как joannes говорят что очень горячая тема в поиске
Немного больше специфики Вашей точной проблемы было бы хорошо. Существует много различных методов, которые можно использовать. Многие из них управляются другими частями данных. Можно, конечно, использовать Lucene и создать собственные индексы. Существует привязка для многих языков к lucene. Продвижение там также проект Solr, который является Lucene с большим количеством инструментов и дополнительной функциональности вокруг этого. Это может быть больше вроде того, что Вы ищете.
Намерение хитро, и самые современные поисковые системы полагаются на статистическое намерение помочь в упорядочивании результатов. Вы можете всегда иметь этой статьи полезная кнопка и хранить текст запроса, который приводит к полезным документам. Вы могли затем добавить слой информации к индексу, чтобы повысить определенные слова или фразы и помочь им указать на определенные документы.
Некоторые вещи думать о... Сколько документов? Какова средняя длина? Они часто обновляются? Что пользователи делают с документами? Что делает распространение уникальных слов к документам, похожи? (Проще это легкий соответствовать запросу определенному документу (документам) на основе общих уникальных функций.)
, Если это находится в сети, можно всегда делать Google пользовательской поисковой системой, которая просто ищет сайт, хотя можно найти, что это является субоптимальным по ряду причин.
можно всегда запускать с простого индекса и постепенно делать его более сложным путем разговора с пользователями и собирания данных.