例如:这是一些数据
{
"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}
我需要完全匹配字段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
,incluso
和silvestres
作为单独的标记,并且在搜索时Demas Semillas
,将发生相同的处理 - demas
, semillas
。由于查询中的两个标记匹配,因此将返回文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句