問題タブ [zend-search-lucene]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
128 参照

php - Zend_search_lucene 制限結果 "長さ"

lunece を使用して、ファイル内の文字列またはコード番号を検索しています。結果のコンテンツを「制限」する方法を知りたいです。

例: 長いテキスト (約 500 文字) で文字列 'DC' を検索していました。

最初に一致した文字列の前後に20文字を入れたい..

そのように: "[..]altri inox 0 50 C aria filtrata senza lubrificazione * 1,5 mm 24V DC 10% (altre a richiesta) 2W Classe F IP 54 (IP 65 connettore) ED 100% 5 ms Serie W *ネルカス[..]」

ルセンにはすでにメソッドがありますか、それとも書く必要がありますか? 私はhighlightMatches()しか見つかりませんでした..

0 投票する
0 に答える
968 参照

php - Zend Lucene は、別のサーバーではなく、同じコードで UTF-8 のインデックスを作成します

Zend Search Lucene で構築されたカスタム検索エンジンがあります。このプログラムは、世界中のソースから多くの言語 (現在 11) でデータのフィードを取得することになっています。すべてが UTF-8 でエンコードされていることを確認するために、見つけたすべての方法に従いました。私の Lucene インデックスには、特殊文字を含む可能性のある 4 つのフィールドがありますが、主にタイトルと説明のフィールドを扱っており、現時点ではうまく機能していません。

私のローカル マシンでは、開発とテストのために XAMPP を実行しています。コードはここで完全に機能しています。英語、スペイン語、中国語、ロシア語などのコンテンツを問題なくインデックスに登録できます。Luke を使用して、結果のインデックスを調べることができます。

同じコードを持つライブ サーバーでは (確実に削除して再アップロードしようとしました)、結果のインデックスは特殊文字で失敗します。つまり、中国語とロシア語はどの文字にも索引を付けません。スペイン語のコンテンツでは、アクセント付きの最初の文字がある場所でカットされます。おそらく最初のマルチバイト文字がストレージを殺してしまうようです。ただし、ドキュメントは引き続きインデックスに保存されます。特殊文字のないその他のフィールドは正しく保存されます。

コードは次のようになります (例として単純化)。

繰り返しますが、このコードと Zend ライブラリは、両方の環境で同じです。ローカル インスタンスにより、異なるアナライザーを使用しなくても、これらすべての言語が同じインデックスに共存できるインデックスが正常に作成されます。

サーバー設定の比較は次のとおりです。

  • ローカル
    • アパッチのバージョン: 2.2.6
    • PHP バージョン: 5.2.4
    • Apache モジュールとして実行される PHP
  • ライブ
    • アパッチのバージョン: 2.2.17
    • PHP バージョン: 5.3.6
    • FastCGI として実行される PHP

両方のサーバーで mbstring マルチバイト サポートが有効になっています。他に何を見ればいいのかわかりません。CGI 対モジュール オプションはこれに影響しますか? 比較する必要がある他の設定はありますか?

0 投票する
2 に答える
149 参照

php - Zend_search_lucene を使用するには、PHP アプリを MVC に変換する必要がありますか?

これで、独自の Web アプリケーションの作成が完了しました。MYSQL DB を使用して PHP で記述されており、MVC フレームワークはまったく使用していません。今、私は自分のアプリにローカル検索機能を追加したいと考えています。ここにある他の投稿を見ると、Zend_Search_Lucene は私にとって良い選択肢のようです。

Zend_Search_Lucene を使用したい場合、Zend フレームワーク全体をインストールしてから、アプリを書き直して MVC フレームワークに適応させる必要がありますか?

フレームワークの検索機能だけを使用したいと考えています。今のところ、フレームワーク全体をインストールすることはあまり気にしませんが、アプリに大規模な変更を加える必要がある場合は気にしません..

回答の提案に感謝します、thx

0 投票する
4 に答える
11730 参照

php - PHP Zend Framework: ブラウザーで「Lucene.php」を実行しようとすると、localhost で内部サーバー エラー 500 が発生する

Windows 7 を実行しており、Zend フレームワークを新規インストールしています。「search.php」という新しい php ファイルで、Zend_Search_Lucene を使用して検索アプリケーションを構築しようとしています。最初の行は次のとおりです。

このコードを実行すると、ブラウザに内部サーバー エラー 500 が表示されます。その後、Zend ライブラリ内のいくつかのファイルを単独で実行しようとすると、このエラーが発生することがわかりました。これが、前述のエラーの原因です。 .ie ERROR 500 on localhost/Zend/Search/Lucene.php, localhost/Zend.../blabla.php..

ただし、一部のファイルは、ブラウザで実行したときにこの 500 サーバー エラーが表示されませんでした。つまり、localhost/Zend/ProgressBar.php は空のページを表示します。これは、コードに「エコー」がないと仮定しているため問題ありません。これは、ブラウザで lucene.php を実行したときに実際に期待したものです...

経験豊富な誰かがこれがどのように起こるか教えてもらえますか? 例外ではなく内部サーバー エラーが発生するのはなぜですか? この内部 500 サーバー エラーに関係なく、「Lucene.php」ファイルを使用する検索アプリケーションが正しく動作するかどうかを確認するにはどうすればよいですか? ありがとう。

0 投票する
2 に答える
1193 参照

zend-framework - Zend_Search_Lucen - [function.fopen]: ストリームを開けませんでした: 権限が拒否されました

Ganesh HS の Zend Lucene Search Tutorial に従おうとしていますが、エラーが発生します。

メッセージ: fopen(/home/zerego/application/lucene-data/read.lock.file) [function.fopen]: ストリームを開くことができませんでした: 権限が拒否されました

「function.fopen」をクリックすると、別のメッセージが表示されます。

私のフォルダーには 755 のアクセス許可があり、777 で試しましたが、ACL に問題があると思います。

ACL で何らかの権限を付与する必要がありますか? または、 de .htaccess でそのような権限を付与する必要がありますか?

0 投票する
2 に答える
477 参照

php - PHP で Lucene を使用する

PHPでの検索とインデックス作成にLuceneをどのように使用できるか疑問に思っています。Googleは、Zendフレームワークを介して行う場合にのみそうできると述べました。後者は私の辞書に存在する可能性は低く、標準のPHPを使用しています自分の電子書籍のインデックスを作成するために自分のサイトで Lucene を動作させるためだけに Zend を使用できますか? 情報を得るために Netbeans 6.8 を使用していますが、Netbeans オプションのどこかに「Zend」という単語 (私が知っているのは彼の名前だけです ^^) を見つけました。いくつかのサイトが示唆していることを本当に理解できません。助けてください! 最も簡単な開始方法を教えてください。その後、ハンドルを握ります。よろしくお願いします。

0 投票する
2 に答える
1018 参照

caching - Zend Lucene の検索結果を Code Igniter にキャッシュする方法は?

これが最善の方法かどうかはわかりませんが、私の目的は、Lucene 検索結果のページネーションを行うことです。

検索を実行し、すべての結果をキャッシュに保存し、キャッシュされた結果から結果の特定のサブセットを返すことができるページ関数を結果コントローラーに設定することは理にかなっていると思いました。

これは悪いアプローチですか?どのような種類のキャッシュも使用したことがないので、どこから始めればよいかわかりません。CI Caching Driver は有望に見えましたが、すべてがサーバー エラーをスローします。APC をインストールする必要があるのか​​、Memcached をインストールする必要があるのか​​、または何をすればよいのかわかりません。

ヘルプ!

0 投票する
2 に答える
1996 参照

zend-framework - Zend_Lucene エラー

Zend フレームワークの使用は初めてです。Zend_Lucene を使用して、自分の Web サイトで小さな書籍エンジンを実現したいと考えていました。完全なパッケージをダウンロードして Netbeans 7 に含めたところ、うまくいきました。それから、Zend_Lucene の公式サイトの入門チュートリアルを読みました。インデックス作成はできましたが、いくつかのエラーがありました。

これらのファイルが作成されました: そして、ここにエラーがあります: _0.cfs、segments_2、optimization.lock.file、read.lock.file、read-lock-processing.lock.file、write.lock.file、segments.gen。

これは、コードを実行してインデクサーを作成した後に表示されるエラーです。

これにはライブラリを include_path に含める必要があることを読みました。Netbeans をこっそり調べたところ、それを取得したと思いました。ここにスクリーンショットが あります。ここに画像の説明を入力 私の問題をサポートしてください。卒業プロジェクトに必要です! 前もって感謝します!よろしく!

0 投票する
1 に答える
697 参照

php - Zend lucene - テキスト ファイルの検索

私は現在、tesseract を使用してスキャンしたドキュメントを読み取り、コンテンツをテキスト ファイルとして保存する個人的なプロジェクトに取り組んでいます。テキスト ファイルと jpeg ファイルの両方を Web のディレクトリに保持し、mySQL データベースを使用してそれらの間のリンクを維持しています。このプロジェクトの目的は、重要な用語を検索して画像を返すことができるようにすることです。

これまでのところ、Zend Lucene を使用してテキスト ファイルにインデックスを付けることができましたが、ドキュメントを検索するときに多くの問題を経験しました。インデックスのフィールドは、画像がアップロードされた日付、本文 (テキスト ファイルの内容) です。 )、および画像への URI。

上記のすべてがうまく機能していると思います。私の検索では、テキスト ファイルのコンテンツと、画像がディレクトリにアップロードされた日付で検索するつもりです。そのため、特に日付または内容と日付で。

ご覧のとおり、パーサーを使用してみましたが、少なくとも 2 つのドキュメントが返される必要があるという知識で検索を実行していますが、上記の結果は返されません。

例: +body:hill +created:[20110328 TO 20110628]

ゼロのドキュメントを返します。

ご覧のとおり、すべての「/」、「.」を削除しました。および「-」を日付 (作成) フィールドに入力し、キーワード宣言を使用して検索に準拠していることを確認しましたが、それでも何も返されません。

また、検索に含めたい用語がいくつかあるため、独自のストップ リストを使用する方法を知りたいのですが、現在は含まれていませんが、ドキュメントにとって重要です。

私は自分のサーバーで作業しておらず、サーバーへのアクセスが制限されているため、lucene または mySQL を使用するしかありません。DB で全文検索を使用したほうがよいでしょうか?

前もって感謝します。