2016-08-16 9 views
0

で私達は私達の研究のためのさまざまな検索エンジンに アーカイブに直面しているとXapianのオメガのドキュメントを閲覧した、我々 はそれを試してみることにしましたいくつかの興味深い検索オプションを持つ適切なソリューションです。検索 - オメガオプションは ように見えるので、ワイルドカードや正規表現

Linuxサーバー(Deb 7)にXapian-Omegaをインストールし、セットアップを成功させて をテストしました。しかし、われわれはどのようにして がXapian-Omegaでワイルドカードまたは通常の 表現を使用しているか、あるいはおそらく使用できるようにするかについては不明である。

Xapianでワイルドカードオプションを有効にする必要があります。 "QueryParser flags" 誰かがこれを明確にすることはできますか? すなわち1つまたは2つの例を持つページを使用して説明するか、または指示します。

しかし、我々はオメガ CGIとしても、この後者実行されますが例に関する多くの情報を見ていない、ワイルドカードオプションは、(例えば、単一の文字など、一般的なワイルドカードと?のための*のように)、 はしていないようです ステミングや部分文字列などが機能しているにもかかわらず、デフォルトで期待どおりに動作し、 が便利です。

例:医療用 メディック*医療医薬品 かと:次のような特定の精度で標準のシンプルな 野生の文字検索を利用できるようにするには興味深いものになるだろうか? 1文字の場合

Regexpはオメガで認識できますか? 例:sep [ae] r [ae] te(\ w +)? (Devのメーリングリスト) この1つの提案に関する や、Eメールまたはクレジットカード 番号や研究論文など、ずっと前にオリーベッツからノートで

で、特定の式のタイプとして構造化された形式の検索インデックスをgrepすることでしたこれは がOmegaのRADの利点を打ち負かすでしょう。

ワイルドカードや正規 表現でオメガを使用した検索の任意の例は、ほとんどの... このテーマに関する情報が十分に例を使用して高度な検索 を開発する方法を説明して を提示されているページのも、表示をいただければ幸いですXapianだけで大丈夫です(PHPやPythonなど)。

(私たちは、アーカイブインデックスのインデックスサイズの大きさや 時間で最終的 大幅な増加についての瞬間のための心配はありません)

答えて

0

あなたはこのような医者」として右のワイルドカードを(有効にすることができます* ")を$set{flag_wildcard,1}Omegascript documentationで覆われている)を使用して、FLAG_WILDCARDを可能にする。ユーザーマニュアルにはusing wildcardsに関するセクションがあります。

Xapianは論理的に正規表現の検索をサポートしていませんが、潜在的に高価な場合(正規表現に依存して)、サポートすることは可能でしょう。それは、データベース内の未記述の用語に対して正規表現を実行してから、検索にそれらを供給する必要があります。それが困難になるところでは、正規表現が多くの用語に展開されているかどうかです(例:正規表現としての「a」など)。効率を上げるには微妙な点もあります。用語リストを通して定数プレフィックスを持つものにジャンプするのは簡単です。可能であれば、それを利用したいと思っています。 「テ」の後、末尾の文字のためのsep[ae]r[ae]te(\w+)?のご例えば

あなたが実際に(あなたが$set{flag_spelling_correction,1}を使用して有効にすることができますAE置換、のために)spelling correctionの組み合わせをしたいように、それは音やstemming(;英語へオメガのデフォルトはステミングthat can be changed)、またはワイルドカードまたは部分一致のサポート。

ユースケースの正規表現が必要な場合は、xapian-discuss mailing listに提出することをおすすめします。最後の議論以来、Xapianは動いてきました。そして、私はそれが当時よりも今サポートを構築することがより簡単になると信じています。

0

ジェームズ・アヤット:あなたの答えと助けてくれてありがとう、この遅れた返事のための私の謝罪、他の仕事との気晴らし。 私たちは既にOmegascriptページを見ていましたが、CGIインターフェイスでこれらのオプションを使用する方法はわかりませんでした。また、*の使用は後続の文字のようですが、それは正しいのですか?すなわち、内部の単語グループではない。例:omeg * ipt;ステミングオプションが十分でない場合があります。私たちは単一の野生の文字のためのオプションを見ませんでした。特定の検索エンジンではここでコメントできますか?

正規表現の使用に関して、私たちは、ほんの少し単純なものではないかもしれないと主張しました。前の記事で言及した例はもちろん単純な可能な使用であったが、もちろんもっと多くのものがある。ステミングオプションの使用に関するご意見は適切です。

場合によっては、言及されているようなテキストフォームの抽出にいくつかのタイプのregexpオプションを有効にすることは面白いかもしれません。そのようなテキストの迅速な抽出は、恐らく周囲のテキストと共に非常に有用である可能性がある。 メーリングリストであなたの提案を試してみます。

もう一度ありがとうございます。

関連する問題