标签: compass-lucene

指南针Lucene击中

我使用Lucene和Compass,我遇到了一个问题:

          try {

       CompassHits hits = compassQuery.hits();
       for (CompassHit compassHit : hits) {
        if (results.size() >= maxResults) {
         Log.info(this, "Number of results exceeded %,d for query %s", maxResults, query);
         break;
        } else {

         results.add((T) compassHit.getData());
        }
       }


  } 
Run Code Online (Sandbox Code Playgroud)

当数据正在进行compassHit.getData());并且它是100次点击它重新执行搜索时,是否有可能将其更改为200或更多?

编辑:

来自wiki apache org:

"迭代所有命中都有两个原因.首先,当你需要超过100次点击时,返回Hits对象的search()方法会在内部重新执行搜索".

我的问题是有机会将这个值"100"改为"200"吗?但重要的是我使用罗盘或原始的Lucene.

java lucene compass-lucene

8
推荐指数
1
解决办法
713
查看次数

Grails hibernate/Searchable通过在下面给出例外来阻止服务器启动

我们在Grails应用程序中使用Grails 2.1.1和Searchable插件0.6.4,并在某些域上实现搜索,下面显示了所有映射.

class User {
      .....
      static hasMany = [userEducations : UserEducations , userWorkings : UserWorkings ]
      ......
      static searchable = {
        content: spellCheck 'include'
        all termVector: "yes"
        userEducations  component: true
        userWorkings component: true
      }
      ......
}

class UserEducations {
    .....
    Schools schools 
    .....
    static belongsTo = [user : User ]
    ......
    static searchable = {
        content: spellCheck 'include'
        all termVector: "yes"
        schools  component: true
    }
      ......
}

class UserWorkings {
      .....
      Organizations organizations 
      .....
     static belongsTo = [user : …
Run Code Online (Sandbox Code Playgroud)

mysql grails hibernate grails-searchable compass-lucene

6
推荐指数
1
解决办法
885
查看次数

6
推荐指数
1
解决办法
1043
查看次数

grails searchable插件查询

我的Grails应用程序使用可搜索的插件,该插件基于Compass和Lucene构建,以提供搜索功能.我有两个可搜索的课程,比如作者和书.我已将这些类映射到搜索索引,因此只能搜索某些字段.

要在两个类中执行搜索,我只需调用

def results = searchableService.search(query)
Run Code Online (Sandbox Code Playgroud)

同时在两个类中进行搜索的一个很好的功能是,该results对象包括有关包含的结果数,可用结果数,分页详细信息等的元数据.

我最近approved在Book类中添加了一个布尔标志,我从不希望未经批准的书籍出现在搜索结果中.一种选择是将上面的调用替换为:

def bookResults = Book.search(query + " approved:1")
def authorResults = Author.search(query)
Run Code Online (Sandbox Code Playgroud)

但是,我现在需要弄清楚如何结合两个结果的元数据,这可能是棘手的(特别是分页).

有没有办法通过一个查询搜索Book和Author,但只返回已批准的书籍?

lucene grails groovy searchable compass-lucene

6
推荐指数
2
解决办法
1948
查看次数

Grails Searchable Plugin - 过滤结果集

我目前正在使用Lucene.我的要求就像facebook搜索框.用户搜索人和朋友.但在我的要求中,用户有隐私设置,如姓名,位置,电子邮件地址,每个人或只有朋友可见.他可以向朋友和社区的其他成员展示和隐藏这些字段.

我已根据姓名,位置和电子邮件地址实施了简单搜索.但现在我在隐私设置的基础上修改搜索.

这是我的情景 ..

用户A具有隐私设置:
名称仅向朋友显示
电子邮件显示给每个人
位置不会显示给任何人.

如果用户X在搜索框中键入用户A的位置,则它不应该在结果中.但是,如果用户X 在搜索框中键入用户A的名称,则应显示该用户,因为用户A没有限制名称,并且在隐私设置中他的朋友可以看到它.

你能指导我一下这个方法吗?

如果我没有明确写出我的要求,请告诉我.

我已经分析了以下方法,
1 - IndexSearcher的解释方法(它将达到整体性能)
2-探索过滤器但是得不到多少

我的方法:

在名称的基础上
获取resultSet根据位置
获取resultSet在电子邮件地址的基础上获取resultSet

循环每个3结果集并应用与隐私设置相关的条件,并根据隐私设置排除项目.并最终合并所有3个结果集.

如果还有其他办法吗?请与我分享.谢谢.

lucene grails compass-lucene grails-2.0

5
推荐指数
1
解决办法
335
查看次数

Hibernate搜索或指南针

我似乎无法找到关于这个选择的最新评论.回到'06,有人批评Hibernate Search是不完整的,并没有准备好与Compass竞争,现在呢?有没有人同时使用这两者并对决策有一些看法.

我正在空闲时间用Java开发一个Web应用程序,它只是我,所以我希望尽可能地切角,同时尽量减少对最终产品的影响.说过我的项目的搜索能力是优先考虑的!我花了很多时间制作数据库模型来支持系统.能够让用户获得他们正在寻找的东西是什么将我的应用程序分开.所以,速度是可以消耗的......显然是合理的.

以下是我目前对这个应用技术的想法,如果你看到任何明显的newb错误是温和的...我是一个无所不知的专家.

DB:PostgreSQL
平台:Java
框架:Spring,Hibernate,Seam

显然,我已经选择了所有免费(如啤酒)技术和那些我可以说一起玩得很好的技术.那么你们有什么想法,Compass或者Hibernate Search来解决这个问题?

-Nomad311

java full-text-search hibernate compass-lucene

5
推荐指数
1
解决办法
2473
查看次数

搜索时忽略变音符号

我正在使用Compass/Lucene来搜索和索引我的数据库.我想在搜索时忽略变音符号和字符大小写,这样查询"foo"将匹配"Fóo"和"foo",查询"fóó"将匹配"fóo"和"fOO".

基于我所读到的内容,似乎我需要更改Compass在索引和搜索我的上下文时使用的默认分析器.我已经找到了指定要使用的分析器的位置,但我似乎无法找到满足我要求的分析器实现.是否已经存在一个忽略变音符号和字符大小写的分析器,或者我是否需要编写自己的分析器?

java lucene search grails compass-lucene

3
推荐指数
1
解决办法
2137
查看次数