Уместность полнотекстового поиска измеряется в?

Другое событие 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));
}

15
задан hippietrail 20 October 2012 в 18:32
поделиться

3 ответа

andygeers на правильном пути: Те числа не имеют никакого эмпирического значения кроме своих отношений друг к другу и не могут использоваться самостоятельно для определения то, что или не является "точным совпадением". Необходимо решить что сами. Даже кроме ограничений рейтинга полнотекстового поиска, существует также нерешенный вопрос, что Вы рассматриваете к consitiute "точным совпадением". (Фактический текст только или соответствия soundex рассчитывают? Сделайте синонимы (например, "диван" по сравнению с ". диван"), рассчитывают как соответствие или как отличный? Попытка должна быть предпринята для компенсации орфографических ошибок? И т.д.)

, Если бы у меня была потребность выполнить такую проверку, я захватил бы только оцениваемую самым высоким образом запись, возвращенную полнотекстовым поиском, удалил бы любые обозначенные стоп-слова, нормализовал бы пробел, преобразовал бы в нижний регистр, сделал бы сравнение и оставил бы ее, в, котором пока я не встретился со случаем, который призвал, чтобы это было усовершенствовано далее. Это не действительно весь , что много дополнительной работы - при определении языка, который Вы используете для своего приложения, Вы могли бы, вероятно, найти кого-то здесь, кто мог записать функцию нормализации в рамках приблизительно дюжины строк кода.

5
ответ дан 1 December 2019 в 04:27
поделиться

Структура основных данных для системы текстового информационного поиска Инвертированный индекс . Это - по существу список слов, найденных в коллекции документов со списком документов, в которых они происходят. Это может также иметь метаданные о возникновении для каждого документа, такого как количество раз, слово появляется.

Документы, содержащие слова, могут быть запрошены путем соответствия на критериях поиска. Для определения уместности эвристика, известная как , Косинус, Занимающий место , вычисляется на хиты. Это работает путем построения n-мерного вектора с одним компонентом для каждого из n критериев поиска. Можно также взвесить критерии поиска при желании. Этот вектор дает точку в n-мерном пространстве, которое соответствует Вашим критериям поиска.

А подобный вектор на основе взвешенных случаев в каждом документе может быть создан из инвертированного индекса с каждой осью в векторном соответствии с осью для каждого критерия поиска. При вычислении скалярного произведения этих векторов, Вы получаете косинус угла между ними. 1.0 эквивалентно тому, потому что (0), который принял бы, векторы занимают общую строку от источника. Чем ближе векторы вместе, тем меньше угол и ближе косинус к 1,0.

при сортировке результатов поиска по косинусу (или закупоривают их в приоритетную очередь как , mg делает), Вы получаете релевантный максимум. Более умные алгоритмы уместности имеют тенденцию играть с весами критериев поиска, скашивая скалярное произведение в пользу условий с большим значением.

, Если Вы хотите вырыть немного, Руководящие Гигабайты Bell и , Moffet обсуждает внутреннюю архитектуру систем текстового информационного поиска.

8
ответ дан 1 December 2019 в 04:27
поделиться

Я не знаю специфических особенностей функции MySQL, которую Вы используете, но я предполагаю, что могло случиться так, что нет никакого абсолютного значения для тех чисел - они просто разработаны, чтобы быть по сравнению с другими значениями, произведенными той же функцией. Для проверки на абсолютное соответствие, Вы могли выбрать сам текст и выдержать сравнение вручную.

2
ответ дан 1 December 2019 в 04:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: