【问题标题】:Solr alphabetical searchSolr 字母搜索
【发布时间】:2016-04-18 11:34:58
【问题描述】:

我有一个要求按字母顺序从 solr 中搜索数据.. 例如..

"aaa,aba,abc,bba"这是我的查询"q=&fields=viewername&viewername=a*"。 我没有得到正确的结果。我正在获取包含"a" 的任何文档。

Ex 结果:

1.abcd-terstttttttttttttttt
2.aaab
3.Iraq: India wastes Army's Special Forces resource

但我只需要以"a" 开头的文档。

schema.xml-dynamicfield

dynamicField name="*_string" type="lowerstring" indexed="true" stored="false" multiValued="false"

如果我将类型从“lowerstring”更改为“string”并重新索引,我会得到正确的结果。但我无法重新索引所有记录,因为有数十万条记录。

【问题讨论】:

  • 你问的不是同样的问题吗...?stackoverflow.com/questions/36642082/…
  • 你能分享一下所有分词器和过滤器“lowerstring”都有什么吗?
  • 这是我的分词器..
  • 那么在这种情况下,您需要将 fieldType 更改为 string...因为上面的 fieldType 将创建令牌...因为您正在使用 WhiteSpaceTokenizerFactory ....这就是我在我的回答

标签: solr


【解决方案1】:

您将获得string fieldType 的结果,因为当您拥有String 类型的field 时,它不会被标记化。而是不会为输入字段创建任何令牌。

但是当您使用任何其他由标记器和过滤器组成的 fieldType 时,它​​会根据所使用的内容创建一些标记..

您可以在solr 管理页面中进行分析。

根据相同的情况,您可以为字段定义fieldType

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    相关资源
    最近更新 更多