首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置Lucene.Net索引

设置Lucene.Net索引
EN

Stack Overflow用户
提问于 2013-03-28 03:21:13
回答 1查看 246关注 0票数 1

我有一个数据库,其中列出了体育和用户,并有一个连接表(UserSports):

代码语言:javascript
复制
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搜索体育,所以我为它们创建了一个索引,并对其名称进行了分析。这很好用。当我搜索"ball“时,我得到的结果是足球、棒球、篮球。我想做的是,对于特定的用户,只返回他们在UserSports中没有记录的体育。因此,如果Jane搜索"ball“,它应该只返回Football。我可以在SQL中使用not inleft join ... where join is null来做这件事,这很好用,但我想添加Lucene.net提供的模糊逻辑搜索。

在Lucene.Net中为数据编制索引的最佳方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2013-03-28 22:45:00

有很多方法可以做到这一点。

因为您永远不会有非常大量的体育赛事,所以您可以像实际操作一样简单地查询Lucene索引,并从它构建一个SQL查询:

代码语言:javascript
复制
SELECT *
FROM Sports
WHERE Sports.ID IN([list from lucene])
AND NOT EXISTS(
    SELECT 1
    FROM UsersSports
    WHERE UsersSports.UserId = [current user id]
    AND UserSports.SportID = Sports.ID
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15667606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档