彼のためにフォーマットされたxmlを取得するために、sphinx xmlpipeとrakeタスクを使用してmsワードファイルの検索に取り組んでいます。それは私が問題を抱えているときです。基本的に私がしていることは、MIME::Types.type_for でファイル タイプを検出することです。このファイル doc または docx が catdoc でそれを読み取るか、その word/document.xml を抽出する場合、問題は、タスクが xml で特定のエントリを返すときに、sphinx がインデックスに失敗することです、彼は xml 解析エラーで終了します:
XML parse error: not well-formed (invalid token)
どのタスクが返すかを見ると、バイナリ データ エントリのように見える行でインデックスが壊れていることがわかります。スフィンクスが索引付けを完了することができるように、テキストからバイナリデータをフィルタリングするか、少なくともそれらを含むドキュメントを検出できますか?