このメッセージを Solr メーリング リストに投稿しましたが、Solr の専門家が潜んでいる場合に備えて、ここでも試しています。
正規表現フラグメンタを使用しようとしていますが、必要な結果を得るのに苦労しています。単語の文字で始まり句読点で終わるフラグメントを取得しようとしていますが、何らかの理由で返されるフラグメントは非常に柔軟性がないように見えます。ここに私が使用している関連するパラメーターがあります。誰かが私が間違っている場所を指摘するのを助けることができるかもしれません:
<str name="hl.fragsize">500</str>
<str name="hl.fragmenter">regex</str>
<str name="hl.regex.slop">0.8</str>
<str name="hl.regex.pattern">[\w].*{400,600}[.!?]</str>
<str name="hl">true</str>
<str name="q">chinese</str>
これは、単語の文字で始まり、.!? のいずれかで終わる、400 ~ 600 文字の間で一致する必要があります。典型的な結果の例を次に示します。
. これらの写真をチェックしてください。木曜日、中国南西部で初めて展示された9匹のパンダの子。彼らは1歳未満です。彼らはつい最近授乳をやめました。中国中部の山林には 1,600 頭しか残っておらず、中国の繁殖施設や動物園には 120 頭しか残っていません。中国国外の動物園には約20頭いる。それらはほぼ完全に竹に存在します。彼らは30歳まで生きることができます。そして、これらの小さな人たちは、最終的にははるかに大きくなります. 彼らは成長するでしょう
ご覧のとおり、ピリオドで始まり単語文字で終わっています。フラグメントが思い通りに出てきて、正規表現はまったく何もしていないように見えますが、ギャップ フラグメンタを使用すると結果が異なります。上記の結果では、前のピリオドと最後の 2 つの単語を削除してはならない理由がわかりません。スロップと正規表現パターンには十分な余地があります。私が間違っていることを理解するのを手伝ってください...
どうもありがとう、
マーク