Solr查询多个字段,一个字段不需要完全匹配

刘同彬
  1. 我需要通过 Solr 查询超过 2 个字段。一个是buyerCountry,另一个是详细信息。两者都被索引。
  2. 例如:这是一些数据

    {
            "buyerCountry":"Peru",
            "arrivaldate":"2017-08-24 00:00:00",
            "supplier":"MONSANTO HOLLAND BV",
            "details":"Demas Semillas Hortalizas (Incluso ?Silvestres?)",
            "buyer":"MONSANTO PERU S A",
            "id":"IMP_PERU-000029fbb06ee9cb49985cbf3600952b",
            "_version_":1584917551396159488},
          {
            "buyerCountry":"Peru",
            "arrivaldate":"2017-08-28 00:00:00",
            "supplier":"SCHNEIDER ELECTRIC INDUSTRIES SAS",
            "details":"Reles, Para Corriente Nominal Inferior",
            "buyer":"SCHNEIDER ELECTRIC PERU S A",
            "id":"IMP_PERU-00003108b929bf36def5ccf37cc23485",
            "_version_":1584917551525134336},
          {
            "buyerCountry":"Peru",
            "arrivaldate":"2017-08-29 00:00:00",
            "supplier":"FEDERAL-MOGUL CORPORATION",
            "details":"Demas Cajas Cojinetes  Cojinetes",
            "buyer":"REPUESTOS SERVICIOS Y DISTRIBUC S A C",
            "id":"IMP_PERU-000080b39e7e83dbae36c5b465d9cb6c",
            "_version_":1584917551527231488}

  3. 我需要完全匹配字段buyerCountry,但对于字段详细信息,我只需要字段详细信息中的所有搜索词。我试过 q=buyerCountry:"Peru" AND details="Demas Semiillas",没有记录。fq=buyerCountry:"Peru"&fq=details:"Demas Semiillas",两者都没有记录。谁能帮我?

马茨林德

字符串字段(通常基于 StrField)只能进行精确匹配。不会对插入字段的值进行进一步处理。

如果要处理该字段(即将其标记为单独的标记并进一步过滤这些标记,例如将它们小写),则必须使用 TextField 并附加一个分析链来执行您要执行的规范化/处理。

在这种情况下,StandardTokenizer 和小写过滤器可能会很好,以便将详细信息字段拆分为单独的标记。Demas Semillas Hortalizas (Incluso ?Silvestres?)将被处理成demas, semillas, hortalizas,inclusosilvestres作为单独的标记,并且在搜索时Demas Semillas,将发生相同的处理 - demas, semillas由于查询中的两个标记匹配,因此将返回文档。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

按一个字段分组并显示多个字段(MySQL)

Java 8 GroupB一个字段,然后映射到多个字段

需要一个字段或另一个字段

Gson将一个字段转换为多个字段

Laravel至少需要一个字段

根据定界符将一个字段解析为多个字段

如何通过查询多个表来在oracle的一个字段中连接行

如何在Solr的一个字段中搜索多个单词?

Angular 6仅需要多个字段中的一个字段

如何在SQL查询的一个字段中求和多个字段?

Mongo尝试在更新时创建一个字段,尽管我不需要这个

与第二个字段相关时在一个字段中查找完全匹配

一个字段有多个外键

在Elastic Search中将多个短语匹配到一个字段

需要将一个字段与另一个带有逗号的字段匹配

Solr索引多个值作为一个字段

SQL Server:查询以在一个字段中获得多个结果

awk:匹配一个字段,直到另一个字段

Laravel 5.1当一个方法中需要一个字段而另一个方法中不需要字段时,如何对两个方法使用相同的表单请求规则?

在一个字段中存储多个参考

在一个字段中使用多个参数按表格访问查询

更新一个字段匹配多个条件之一的记录

Django 一个字段中的多个文件

当单选按钮为“是”时需要填写一个字段,“否”时不需要

Django 在查询集中添加一个字段

grails:一个字段,多个类

MySQL查询以在多表中的一个字段中显示多个值

SQL:查询以在一个字段中查找具有共同值的多个项目

嵌套数组聚合只需要一个字段来匹配