0

フリーテキスト入力から正規の製品説明を見つけるための一連のクエリを開発しています。私の問題を説明する次の例を考えてみましょう。

(* Where: (a) Free text (b) Should have returned (c) What was found)

 - (a) 'CUTTER FLOOR90 CM DUPLEX - IRWIN' 
 - (b) 'CUTTER F/FLOOR/AZULEJ.90CM DUPLEX  0096'
 - (c) 'CUTTER FLOOR65 CM DUPLEX - IRWIN'
 - (a) 'WELDABLE GLOVE 50MM - TIGER'
 - (b) 'LUVA . WELD BROWN 826 TIGER(50MM)' 
 - (c) 'WELDABLE GLOVE 40MM - TIGER'
 - (a) 'INSULATION TAPE 33+ SCOTCH 19X10M - 3M'
 - (b) 'INSUL. TAPE.PVC PT  19MMX10M  N.33+ H00018' 
 - (c) 'INSULATION TAPE HIGHLAND 19X05M - 3M'
 - (a) 'KEY COMBINATION 14MM - GEDORE'
 - (b) 'KEY COMB. 14MM    CV. 002509  002509 1' 
 - (c) 'KEY COMBINATION 10MM - GEDORE'

ご覧のとおり、クエリは全体としてより厳密に一致する文字列を返しました。(\ d +)MMや(\ d +)CMなどの部分文字列の重要性を高める必要があります。

できればSolrを使用して、これをどのように処理しますか?

4

1 に答える 1

0

直面している 2 つのシナリオに基づいて、異なるクエリを発行する必要がある場合があります。

クエリに正規表現が含まれていないケース 1 と 3 を支援するために、ドキュメントに追加のフィールドを保持することができますpopularity。正規表現を含むドキュメントの場合は、それを高くしてください。次に、Solr の関連ページの内容に従ってください。

クエリ自体に正規表現が含まれるケース 2 と 4 の場合、一致する用語に対して追加のブーストを使用してクエリを発行できます。

于 2013-02-23T04:59:14.773 に答える