0

请帮助 Solr 搜索。他删除了重复的“联系人”,而不是按一个字母搜索。

Model:  searchable do
          text :name
        end
controller:     query = params[:search]
                  @search = Sunspot.search [Contact] do |f|
                    f.fulltext query
                    f.keywords query
                  end
                @contacts = @search.results

以及来自 railscasts 的标准视图。

谢谢。

4

1 回答 1

0

我真的不确定我是否理解,但我认为我遇到了问题之一。

如果添加术语: contacts:contact1

后跟术语: contacts:contact2

对于同一个文档,结果将是一个字段: contacts:contact1 contact2

字段名称是数据的关键。同一个文档不能有两个具有相同键的字段。如果您需要能够从数据库中获取不同的联系人,请使用不同的名称存储每个联系人,或者添加分隔符,以便在获取组合字段后将它们分开。

至于用一个字母搜索,您是在执行前缀还是通配符搜索来获取更长的字段,例如:

contacts:B*

而且由于某种原因它不起作用?

或者您可能一直在尝试匹配术语“a”或类似的东西,这些可以被使用的 StopFilter 消除?

于 2012-12-28T21:58:13.887 回答