Lucene: класс сходства ... как определить несколько мер сходства? - PullRequest
4 голосов
/ 26 февраля 2011

Для моего эксперимента мне нужно определить конкретные метрики сходства для каждого поля документов моей коллекции.

Например, мне нужно измерить сходство полей Description с полями tf.idf и Geolocation с расстоянием Harvesine.и т.д ...

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

спасибо

1 Ответ

1 голос
/ 27 февраля 2011

РЕДАКТИРОВАТЬ: IIUC, у вас есть формула сходства для каждого поля, и вы хотите использовать ее для каждого документа, работая со всеми другими документами.Вы можете использовать несколько опций, все во время индексации:

  1. Расширить класс DefaultSdentifity .
  2. Расширить класс SimilarityDelegator , если вынеобходимо изменить только часть методов.

В обоих методах вы можете использовать полезных нагрузок для хранения информации, относящейся к конкретному сроку (может быть полезно для данных длиной в лат).

После реализации класса Similarity с использованием одного из этих методов, используйте Similarity.setDefault (mySimility), чтобы установить его в качестве экземпляра Similarity для индексации и поиска.

Только после этого индексируйте ваш текстовый корпус, которыйвы можете искать позже - вам, вероятно, придется расширить класс Searcher, чтобы получить общее сходство.

Сказав это, я считаю, что этот подход не подходит для вашего варианта использования - Lucene оптимизирован, чтобы получить несколькоаналогичные документы, а не оценка для каждого, поэтому я предсказываю, что время выполнения будет непомерно высоким - надеюсь, я ошибаюсь, но, тем не менее, предлагаю вам прочитать Mining of Massive Datasets для лучшего подхода - минимальные хэши и shingling.

Удачи.

Патрик, я сначала процитирую Гранта Ингерсолла об изменении класса подобия: "Here be Dragons" .Настроить класс сходства Lucene сложно.Я сделал это.Это не весело.Делайте это только если вам абсолютно необходимо.

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

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