У меня есть база данных, которая содержит список видов спорта и пользователей и имеет таблицу Join (UserSports):Setup Index Lucene.Net
Sports Table:
ID Name
1 Running
2 Swimming
3 Football
4 Baseball
5 Basketball
Users Table:
ID Name
1 George
2 Jane
3 Alex
UsersSports
UserID SportID
1 2
3 1
2 4
2 5
Я хочу найти спорт с помощью Lucene.Net поэтому я создать индекс для них и проанализировать имя. Это отлично работает. Когда я ищу «мяч», я получаю футбол, бейсбол, баскетбол. То, что я хочу сделать, это то, что для конкретного пользователя только возвращаются виды спорта, где у них нет записи в UserSports. Поэтому, если Джейн искала «мяч», он должен только вернуть футбол. Я могу сделать это в SQL, используя not in
или left join ... where join is null
, и это работает отлично, но я хочу добавить нечеткую логику, ищущую Lucene.net.
Каков наилучший способ индексирования моих данных в Lucene.Net?
Что делать, если было много записей в спорт (скажем, 1000-ые потенциальные матчи)? Не могли бы вы поступить так же? – Greg