Solr存储和搜索带后缀的序号

时间:2015-05-16 04:15:21

标签: solr solr4

假设我必须存储学生的学术细节,如......

  1. College name - 文本字段可搜索
  2. Student Class - 文本字段可搜索
  3. Subjects - 多值字段,可搜索的文本字段
  4. 如何存储/处理"学生班"因为学生可以像这样搜索"班级4th" ,"班级4" ,"班级fourth"

    的学生

    我如何处理这些(第4,第4,第4)变体?什么是优雅的方法。

    由于 Amit Aggarwal

1 个答案:

答案 0 :(得分:1)

解决此问题的一种方法是使用支持查询时间同义词的字段类型。查看" text_general"输入示例solr架构。

实际上,您可以将这样的行添加到核心配置文件中的synonyms.txt文件中:

# numbers
1,1st,first
2,2nd,second
3,3rd,third
4,4th,fourth

现在,假设您有一个文档,例如:

{ "college":"Princeton", "class":"1", "subjects":["CS 101", "introduction to full text search"]}

如果您执行以下查询,则可以检索该文档:

class:first

在此示例中,搜索查询指向一个字段,该字段可能是您想要的,也可能不是。如果您需要将数字同义词匹配的搜索查询定位到多个字段(即,没有字段说明符的搜索查询,只搜索搜索项),您可以将所有这些字段内容复制到单个同义词可搜索字段(使用copyField),例如content_synonyms然后默认情况下对该字段运行查询。