私はフォルダ内にたくさんのファイルを持っています。すべてをプレーンテキストファイルに変換すると仮定しましょう。python - ファイル内の単語の複合ブール検索
私はこのような検索を実行するのpythonを使用したい:
query = '(word1 and word2) or (word3 and not word4)'
実際logcが変化し、複数の単語を一緒に使用することができます。別の例:
query = '(shiny and glass and "blue car")'
また、これらの単語は変数であるため、ユーザーによって提供されます。
私は一致した文章とファイル名を表示したいと思います。 これはwhooshやhaystackのような複雑な検索エンジンを必要とせず、フィールドでファイルを索引付けする必要があります。 また、これらのツールでは、上記で説明したようにブール値のクエリがないようです。 pdfquery
私はpdfsのために欲しいものを正確に提供していますが、今はテキストファイルとxmlファイルに必要です。
提案がありますか?
は安全であることがわかっているクエリですか? 'eval'はここで簡単に提供されますが、これがユーザの入力であればそれは非常に危険です –
' word'が暗黙のうちに 'word'を意味するold-school検索エンジンのようなセマンティクスで解釈されるはずですか?資料"? – user2357112
ユーザーは単語とセマンティクス(AND、OR、NOT、かっこ)を入力します。 – max