問題タブ [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.
zend-framework - Zend_Search_Lucene と範囲検索
インデックスに多数の int キー フィールドがあり、次のような単純な範囲検索を実行しようとしています。
これにより、身長が120から180の範囲の男性が得られるはずです。しかし、何らかの理由で、次の例外が発生します。
これをどのようにデバッグしますか? Zend_Search_Lucene にバグがあるだけですか?
php - Lucene/PHPを使用した大規模なDBのインデックス作成
午後のチャップス、
LuceneのZendポートで170万行のテーブルにインデックスを付けようとしています。数千行の小さなテストでは完全に機能しましたが、行を数万行に増やすとすぐにタイムアウトになります。明らかに、phpがスクリプトの実行を許可する時間を増やすことはできますが、360秒で最大10,000行になるので、170万を実行するのに何秒かかるかを考えるのは嫌です。
また、スクリプトを数千回実行し、更新してから次の数千回実行しようとしましたが、これを実行すると、毎回インデックスがクリアされます。
アイデアはありますか?
ありがとう :)
java - Solr と Zends Lucene ポートを一緒に使用する
午後のチャップス、
Zend-Lucene-Search を使った冒険の後、大規模なデータセットのインデックスを作成するときにすべてが解決されているわけではないことがわかったので、Solr に目を向けました (Bill Karwin に感謝します :) )
Solr で db のインデックス作成が大幅に高速化され、わずか 8 分で 170 万行を超えるテーブルのインデックス作成が完了しました。これには非常に満足しています。
ただし、Zend ポートでインデックスを検索しようとすると、次のエラーが発生します。
致命的なエラー: /var/www/Zend/Search/Lucene.php:407 でメッセージ 'サポートされていないセグメント ファイル形式' を含む例外 'Zend_Search_Lucene_Exception' がキャッチされない スタック トレース: #0 /var/www/Zend/Search/Lucene.php(555 ): Zend_Search_Lucene->_readSegmentsFile() #1 /var/www/z_search.php(12): Zend_Search_Lucene->__construct('tmp/feeds_index') #2 {main} が /var/www/Zend/Search/Lucene でスローされます407 行目の .php
私は周りを検索しようとしましたが、この問題について何も見つけられないようです。誰もがそれらを機能させることができるようです?
いつものようにどんな助けでも大歓迎です:)
ありがとう、
トム
php - zendのlucene実装は、ファイルシステムの代わりにmysqlデータベースを使用するように構成できますか?
luceneディクショナリを[MySQL]データベースに配置できるZendのlucene実装(またはサードパーティのプラグイン)のオプションはありますか?
私が尋ねる必要がある理由は、データベースが2つの独立したWebサーバーの唯一の共通リソースであるということです。
php - Zend Lucene PHP で正確な文字列をクエリする
Zend Search Lucene を使用しています。しかし、私は少し問題を抱えています。あいまい一致ではなく、正確な文字列のインデックスをクエリしたいので、page_name IS test123 です。
現在私は持っています:
そしてアドバイス、ありがとう!
php - Zend_Lucene と Zend_Paginator を使用して多数の DB レコードのインデックス作成を最適化する方法
そのため、ホスト上で Cron を使用して展開および実行され、データベース テーブル内のすべてのレコードにインデックスを付けるこの cron スクリプトがあります。インデックスは、後でサイトのフロント エンドとバック操作の両方に使用されます。
操作後のインデックスは約 3 ~ 4 MB です。
問題は、多くのリソース (CPU: 30+ と大量のメモリ) を消費し、マシンの速度が低下することです。私の質問は、以下に説明する操作を最適化する方法についてです。
最初に、Zend Framework API を使用して構築された選択クエリがあり、このクエリは次に、インデックス付けされている現在のアイテム数のバランスを取り、あまりにも多くのアイテムを反復しないようにするために使用しているページネーターを返すページネーター ファクトリに渡されます。スクリプトは、最後に到達するまで foreach ループを使用して paginator オブジェクトの現在のアイテムを反復処理し、次のページのアイテムを取得した後、最初から開始します。
このオーバーヘッドは Zend_Lucene が原因ではないかと疑っていますが、これを改善する方法がわかりません。
php - Zend Lucene で類似/関連テキストを見つける方法は?
ニュースを送信する前に、質問や digg.com を追加する前に、stackoverflow が行うように、関連するタイトルを検索する必要があるとします。
Zend Lucene でこれを行う方法が見つかりませんでした。クエリにはsetSlopメソッドがありますが、私が理解しているように、それは役に立ちません。
この種の検索を行う方法はありますか?
php - Zend_Search_Lucene範囲クエリエラー
各ドキュメントに日付フィールドを設定しました。(キーワード)
そこに格納されている値はこの形式です。20100511
範囲クエリを実行しようとするたびに、次のエラーが発生します。
少なくとも1つの範囲クエリ境界用語は空でない用語である必要があります
誰かが手がかりを得ましたか?
アップデート
私はこれをプログラムで動作させることができました。それはパーサーがバグがあることを意味しますか?
php - Zend_Search_Luceneの検索方法の拡張/変更
私は現在、Zend_Search_Luceneを使用して、現在約1000程度の多数のドキュメントのインデックス作成と検索を行っています。私がやりたいのは、エンジンがドキュメントのヒットをスコアリングする方法を現在のデフォルトから変更することです。
Zend_Search_Luceneは、ドキュメント内のヒット数の頻度をスコアリングするため、PHPという単語が10回一致するドキュメントは、PHPが3回一致するドキュメントよりもスコアが高くなります。私がやろうとしているのは、それらのキーワードのヒットに応じて、いくつかのキーワードとスコアを渡すことです。例えば
インデックスに対して検索するPHP、MySQL、Javascript、HTML、CSSの5つのキーワードを渡します。1つのドキュメントにはこれらのキーワードとの一致が3つあり、1つのドキュメントには4つの一致がすべてあり、4つの一致のスコアが最も高くなります。ドキュメント内のそれらの単語のインスタンスの数は私には関係ありません。
これで、Zend_Search_Lucene_Search_Similarityをざっと見てきましたが、これを使用して自分が求めていることを達成する方法がわからない(または明るい)ことを告白する必要があります。
Luceneを使用して私がやりたいことは可能ですか、それとももっと良い解決策がありますか?
zend-framework - Zend Lucene - 数字を検索できない
Zend Lucene を使用すると、説明フィールドで数字を検索できません
次のように追加しました。
これをグーグルで検索すると、次のコードを適用すると問題が解決することが示されましたが、そうではありませんでした..:
何か考えはありますか?