問題タブ [morelikethis]

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 に答える
4334 参照

solr - More Like Thisの結果をSolrに制約/フィルタリングする方法は?

Solr では、特定の MoreLikeThis リクエスト ハンドラを使用せずに、標準 (dismax) クエリから「More Like This」結果セットを制限/フィルタリングできるかどうか疑問に思っています。たとえば、2 か国のドキュメントを含む Solr インデックスがあります。元の (dismax) クエリを実行するときは、フィールド クエリ演算子 (fq) を使用して、関心のある国の結果をフィルター処理します。しかし、返される MLT の結果は両国のものです。mlt.fl=country,name を使用して「国と名前が類似している結果をさらに表示する」ことを示してみましたが、国の基準に従っていないようです (または、少なくとも名前パラメーターが国パラメーターをはるかに上回っています)。 .

これに対するオプションがあることを示す Solr のドキュメントを見つけることができないようですが、Solr の専門家の 1 人がこのための気の利いたトリック/ハックを持っていることを願っています。

前もって感謝します!

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

solr - SOLRNET を介してモデルに SimilarResults を追加するネイティブな方法

私は SOLRNET を使用しており、SOLR の MoreLikeThis 機能を使用して、返されるドキュメントと同様のドキュメントを取得しています。私のコードは次のようになります (この場合、ロードしたい特定のドキュメントを既に知っているので、ID を検索しています):

クエリを実行すると、すべてが正常に機能し、ドキュメントが MyDocument 型として取得されます。SOLRNET の SimilarResults ディクショナリを反復処理して、同様のドキュメントが実際に返されることを確認できます。私が疑問に思っているのは、返される同様のドキュメントを表す MyDocument タイプのコレクションが取り込まれるように、MyDocument クラスのフィールドをマップするネイティブな方法があるかどうかです。

SimilarDocuments を 1 つずつループする必要がある場合は問題ありませんが、これを行う簡単な方法があると思います。MyDocument クラスの属性を使用してマッピングするなど、明らかなトリックを試しました

どんな助けでも大歓迎です、

前もって感謝します

JP

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

lucene - 類似文書の探し方

Lucene で特定のドキュメントの類似ドキュメントを見つける方法を教えてください。テキストが何であるかはわかりません。ドキュメントが何であるかしかわかりません。lucene で同様のドキュメントを見つける方法はありますか。私は初心者なので、手を握る必要があるかもしれません。

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

solr - Solr の「More like this」はファセット クエリをサポートしていますか?

Dismax ハンドラーを使用してファセットとハイライトを行うことができました。

More Like This の結果のファセットを試してみました。たとえば、次のようなクエリです。

しかし、結果は次のとおりです。

これは、ファセットがq=id:"11qualcomm.doc"に対してのみ機能し、MLT 結果セットに対しては機能しないことを意味します。

ファセットは MLT 結果セットに対して機能しますか? はいの場合、何が間違っていますか?

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

c# - MoreLikeThis クエリをフィルタリングする方法

SOLR を使用しており、MoreLikeThis クエリをフィルタリングしようとしています。フィルターを実行するたびに、結果がゼロになります。私が使用しているコードは次のとおりです。

!new SolrQuery("site:" + SiteId)フィルターはご覧の通り。このフィルターをクエリに追加すると、結果が得られません。

クエリの内容は次のとおりです。私はsolrインデックスにたくさんのウェブページを持っています:

  • ID
  • 題名
  • コンテンツ
  • サイト ID

morelikethis クエリは、id類似したドキュメントを取得します。フィルターは、サイト ID で Web ページをフィルター処理することを想定しています。siteid フィルターを適用しても機能しません。これに関するアイデアはありますか?

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

c# - ID でフィルタリングする方法

Lucene.Net MoreLikeThis 機能を使用しています。MoreLikeThis クエリを ID でフィルタリングする方法を見つけようとしています。たとえば、ID が 15 のレコードを結果に含めたくありません。どうすればいいですか?

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

solr - マルチコアセットアップでSolrのMoreLikeThis機能を利用するにはどうすればよいですか?

そこで、正常に機能するマルチコア機能を使用して、複数のコアでSolrをセットアップしました。

期待どおりに機能し、結果を一覧表示します。

今私がしたいのは、MoreLikeThisを有効にして同じクエリをSolrに送信することだけです。

org.apache.solr.schema.FieldType.storedToIndexedでHTTPステータス500--nulljava.lang.NullPointerExceptionが発生します。mlt.flのフィールドが存在します。面白いことに、結果がないものをクエリすると、Solrは空の結果セットを適切に返します。

それで、これはバグですか、それとも何かが足りませんか?

これは完全なスタックトレースです。

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

solr - Solr 4 ターム リストが分析結果と異なる

MoreLikeThisComponent を使用して同様のドキュメントを見つけようとしていました。結果の 1 つで、「interestingTerms」にテキスト分析結果の一部ではない用語が含まれていたため、MLT で使用されている用語について疑問に思っていました。

テキスト分析中に特定された用語は次のとおりです。

  • 1er
  • アンラグ
  • ロッシュ
  • 予約

そして、TermsComponent が返すものは次のとおりです。

  • 1er
  • アンラグ
  • ゲロシュト
  • ロッシュ
  • p12
  • 予約
  • schneider.go

したがって、テキスト分析の結果によると、「p12」および「schneider.go」という用語は、TermsComponent によって返される用語リストに表示されません。「geloscht」という用語は、テキスト分析中に「loesch」に置き換えられたため、TermsComponent によって返される用語リストにも表示されません。

テキスト分析の私のアプローチ: まず、PatternReplaceCharFilter を使用して、テキスト フィールドに渡されたテキストの一部を削除します。その理由は、すべてのドキュメントに繰り返しテキスト部分が含まれているためです。これらのテキスト部分には意味的な意味はなく、テキストの種類、追加したユーザー、テキスト ブロックが追加された日付を示すために使用されます。

TermsComponent によって返される 2 つの追加の用語は、元のテキストに由来し、PatternReplaceCharFilter によって削除されました。

確認したところ、MLT によって識別される「interestingTerms」は、TermsComponent によって返されるものと同じです。また、TermVector を格納するフィールドと、TermVector を格納しないテキスト フィールドに違いがあるかどうかも確認しました。どちらのバリアントでも、TermsComponent によって同じ用語が返されます。

MLT が使用する用語は、テキスト分析中に識別された用語とは異なるため、MLT が返すドキュメントが多すぎます。

MLT が用語を使用し、TermsComponent がテキスト分析結果の一部ではない用語を返す理由を知っている人はいますか?

そして、おそらく誰かが解決策を知っていますか?

完全を期すために: 2011 年 12 月 7 日からの Solr 4 Trunk バイナリ ビルドを使用しています。

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

solr - Solr More Like This(MLT)が結果を返さない

私は現在、インデックス内のいくつかのフィールドに基づいて、この機能のようなものを実装しようとしています。

私の現在の構成は次のとおりです。PySolr | Solr

この作品では、PySolrを使用して、パラメーターをmore_like_this関数に渡します。応答はドキュメントを検出しますが、関連する結果は検出しません。何故ですか?

これが私がヒットしたURLです:

Solrからの私の応答は次のとおりです。

solrconfig.xml

schema.xml

どんな助けでもいただければ幸いです!

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

solr - インデックス全体でこの結果のようになります

solrによってインデックス付けされた多数のアイテム(約100k)があり、solrに正常にクエリを実行して、特定のアイテムについてこのようなアイテムをさらに取得することができます。私がやりたいのは、インデックス内のすべてのアイテムに対して、このようなアイテムを効率的にエクスポートすることです。現時点では、すべてのアイテムをループして結果を保存しています。これは私には非効率に思えますが、これを行うためのより良い方法はありますか?