問題タブ [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 - Lucene (zend) の 2 つのフィールドでの検索が失敗するのはなぜですか?
したがって、インデックスを作成している 2 つのフィールドがあります。
私は次の方法でインデックスを作成しています。
現在、次の方法でインデックスをクエリしています。
これが奇妙なことです。「タイ」またはフィールド business_name にある任意の単語を照会すると、結果が得られます。しかし、「レストラン」を照会すると、画面が解決されず、白い画面になります。コードを次のように変更すると:
それから私は結果を得る。Lucene が気に入らないことはわかりません。私のデータですか?クエリを作成する方法はありますか? それとも、インデックスを作成する方法ですか?
php - Zend Luceneの検索関連フィールド?
ペアのフィールドがたくさんあります(hoursDistance1、cityName1、hoursDistance2、cityName2、hoursDistance3、cityName3など)。
Luceneが、一方だけではなく正しい用語を持つ両方のフィールドに基づいてスコアを付けるには、どのクエリを検索する必要がありますか?つまり、この名前でここから3時間の都市を検索した場合、hoursDistanceNがここから3時間で、cityNameNが他のフィールドのペアをスコアリングせずに、これである結果を返すにはどうすればよいですか?
zend-framework - ZendLucene辞書式順序検索は関連性のない結果を返します
Zend Luceneを使用して、自分のWebサイトの検索機能を構築しています。すべてうまくいっています。
Luceneが辞書式順序で検索すること
を
理解
する
(
例
:
1、110、1111444、2、3、4、499238492834798、5
など
)
数字を3桁(010から990の範囲)に埋めました。
値110から160(たとえば、フィールド名:[110から160])の範囲検索を実行すると、040の結果が返されます。論理的には、すべての数値が1で始まるため(11、12、13、14、15、および16を検索しますが)、この結果と一致しないはずなので、これは間違っています。
なぜこれが起こっているのですか、そしてどうすればそれを防ぐことができますか?
[編集]Zendのドキュメントを読み間違えました。結果を辞書式にソートする範囲クエリ。しかし、私の問題は解決しません。
php - Zend lucene コンテンツ フィールド
Nutch を使用してサイトのインデックスを作成しましたが、現在は Zend Lucene ライブラリを使用してインデックスを検索しています。
私は実際に Zend ライブラリを Codeigniter に取り込みましたが、すべて Zend が作業を行っています。
タイトル、スコア、URL は問題なく表示できますが、ページのコンテンツを表示するためのフィールドの名前が見つかりません。
これまでのところ、次のコードがあります
コンテンツまたはコンテンツの要約を表示するフィールドの名前を手伝ってくれる人はいますか?
ありがとう
zend-framework - Zend Framework で Lucene を使用すると、インデックス作成の追加/変更が機能しない
私はプログラミングの初心者であり、間違いなく Zend/Lucene インデックス作成の初心者です。ただし、私が知る限り、私のコードは正しいです。変更や追加をデータベースにアップロードして、自分の Web サイトの検索結果に表示されるようにするための手順や何かを見落としているように感じます。ただし、エラーメッセージは表示されません。以下はコントローラーからのコードです。これを理解するために他に何か必要な場合はお知らせください。あなたが与えることができる方向を前もって感謝します。
}
zend-framework - Zend Lucene を使用して範囲クエリを並べ替える
ドキュメントによると、Zend Lucene は辞書順でソートすることになっています。そうではないことがわかりました。'avg:[050 TO 300]' というクエリがある場合、その範囲内のすべての値が返されますが、値ではなくドキュメント ID に従って並べ替えられます。
find() 関数が追加のパラメーターを受け入れることができるため、特定の列 (例: $hits = $index->find($query, 'avg', SORT_NUMERIC, SORT_ASC);
) で並べ替えることができることがわかりました。ただし、$query を動的に作成しており、すべての検索を「avg」でソートしたくありません。
範囲検索を行うときに、Lucene に結果を自動的に辞書順に並べ替えるにはどうすればよいですか? それが不可能な場合、検索機能にソート フィールドを動的に追加するにはどうすればよいでしょうか。
php - Zend_Lucene とワイルドカード演算子の奇妙さ
私の問題の簡単な要約、ワイルドカード演算子は期待した結果を返さないようです。これをいくつかのフィールドに対してテストしていKeyword
ます。
ここに問題を示すサンプルがあります
これにより、期待した最後の 2 つのドキュメントではなく、一連のドキュメント全体が返されます。
出力:
ここで、lucene (その場合は Zend_Lucene) が最初のドキュメントと一致する理由について質問しKeyword
ます。フィールドはトークン化されていないと思いました。
PS: なぜ私がこのテストを実行しているのか知りたい人のために。いくつかのデータベースを備えた e コマース Web サイトがあり、カテゴリ テーブルにはいくつかのパス フィールドがあります。たとえば、カテゴリにこのパス「/1/2/3」がある場合、これは、ID 3 のカテゴリであり、親カテゴリがインデックス 2 などであることを意味します ...
問題は、ユーザーが全文検索を行ってカテゴリを指定するときです。理想的には、そのカテゴリだけでなく子カテゴリからの結果も返したいので、パス LIKE '/1/2%' を実行する lucene の方法が必要です。
もう 1 つの可能性は、SQL クエリと lucene ヒットからの結果をマージすることです。可能であれば、パフォーマンスが低下する可能性があるため、このケースは避けたいと思います。
アイデアのある方、大歓迎です。
geospatial - 地理空間インデックスの効率的でデータベースに依存しない PHP 実装? Zend_Search_Lucene 拡張機能?
緯度/経度情報を MySQL データベースに保存していますが、これは優れた地理空間検索をサポートしていません。効率的な全文検索のために、別の Lucene テキスト検索インデックスを既に維持しているので、Lucene の地理空間拡張を調べました。しかし、私が使用している Zend_Search_Lucene PHP バージョンではなく、Java 実装でしか利用できないようです。
データベースに依存しない別の地理空間インデックスを維持できるようなものはありますか? PHP での R-Tree バリアントの適切な実装または類似のものはありますか? Zend_Search_Lucene の地理空間拡張?
効率的な地理空間クエリ、主に x 半径内および境界ボックス y 内クエリを許可し、データベース内のエントリの ID を返す必要があります。
php - Zend_Search_Lucene に代わるものはありますか?
Zend_Search_Lucene に代わる実行可能なライブラリまたはモジュールが他にあるかどうかを知りたいです。
zend-framework - lucene テキスト検索の無効な文字
私のIndexControllerには
そして、私はエラーが発生しています
および変数
ウィキペディアからコピーされたテキストの配列が含まれており、文字のエラーが発生しています—(-ではない)およびöでエラーが発生しています(信じています)。Lucene Foreign chars problemで、どこで何をすべきかを説明していない関連する同様の質問を受けました。どこで何をすればいいのか、また少しの説明があればありがたいです
更新::iconv