問題タブ [luke]
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.
java - WinXP から Luke (Java アプリ) を起動する際のエラー
http://code.google.com/p/luke/downloads/listから luke-1.0.1.jar (依存関係のない Luke 1.0.1 バイナリ) をダウンロードしました。
また、Oracle/Sun の Web サイトから最新の Java 6 をダウンロードした WinXP を使用しています。
コマンドライン「java -jar luke-1.0.1.jar」を実行して Luke を起動しようとしましたが、次のエラーが発生しました。
手がかり、どうしよう?Javaの知識はまったくありません。
ありがとう
ハーディ
lucene - LuceneインデックスのSolrqueryparser?
テキストメッセージを格納するインデックスを(Lucene 2.9を使用して)作成しました。(ドキュメントには、インデックス付けされておらず、保存されているだけのその他のメタデータも含まれています)これらのメッセージの解析にはStandardAnalyzerを使用します。Solrを使用してこのインデックスでいくつかのテストを実行しようとしています(サンプルのアプリインデックスを自分のインデックスに置き換えました)。さまざまなクエリからどのような結果が得られるかを確認します。
次のクエリを試したところ、0件の結果が得られました
ただし、これを変更すると、"text:happiness*"
いくつかの結果が得られます。すべてになどの用語が含まれています"happiness,", "happiness."
。したがって、インデックス作成中のトークン化の問題だと思いましたが、Luke(luceneインデックスデバッグツール)を使用して同じクエリを実行すると(text:happiness)
、まったく同じ結果が得られました。 Solrからの幸福*。これにより、問題はインデックス作成中ではなく、Solrクエリを指定する方法にあると私は信じました。solrconfig.xmlを見て、次の行(コメント付き)があることに気付きました。コメントを外してみて、元のクエリに加えて「defType = lucene」を使用するようにクエリを変更しましたが、同じ結果が得られました。
私はSolrの経験がほとんどないので、どんな助けでも大歓迎です:)
c# - Luke Lucene BooleanQuery
Lukeでは、次の検索式は23の結果を返します。
これと同じ式を次の実装でC#Lucene.NETアプリに渡すと、次のようになります。
結果は0になります
LukeはStandardAnalyzerを使用しており、ExplainStructureウィンドウは次のようになります。
BooleanClause
検索するフィールドごとにオブジェクトを手動で作成し、各フィールドを指定してから、オブジェクトにShould
追加する必要がありますか?私は私のためにこれを行うだろうと思った。私は何が欠けていますか?BooleanQuery
.Add()
QueryParser
編集:
少し単純化するとdocfile:Tomatoes*
、Lukeでは23のドキュメントが返されますが、私のアプリでは0が返されます。Geneの提案により、私はからに変更しMUST
ましたSHOULD
:
parsedQueryは単純ですdocfile:tomatoes*
Edit2:
私はついに根本的な問題に到達したと思います:
2行目でquery
は"docfile:Tomatoes*"
、はですが、parsedQuery
はです{docfile:tomatoes*}
。違いに気づきましたか?解析されたクエリの小文字の「t」。私はこれまで気づかなかった。IDEの値を「T」に変更すると、23件の結果が返されます。
StandardAnalyzer
インデックスを作成してインデックスを読み取るときに使用されていることを確認しました。queryParser
の値の大文字と小文字を維持するように強制するにはどうすればよいquery
ですか?
Edit3: うわー、なんてイライラする。ドキュメントによると、私はこれを次の方法で達成できます。
parser.setLowercaseExpandedTerms(false);
ワイルドカード、プレフィックス、ファジー、および範囲クエリの用語を自動的に小文字にするかどうか。デフォルトはtrueです。
それが賢明なデフォルトであるかどうかについては議論しません。SimpleAnalyzerを使用して、インデックスの内外のすべてを小文字にする必要があったと思います。イライラする部分は、少なくとも私が使用しているバージョンでは、Lukeがデフォルトで逆になっていることです。少なくとも、Luceneについてもう少し学びました。
lucene - LukeLuceneQueryParserの大文字と小文字の区別
Lukeでは、検索式を入力するとdocfile:Tomatoes.jpg*
、解析されるクエリはdocfile:Tomatoes.jpg*
です。検索式がdocfile:Tomatoes.jpg
、(アスタリスク*なし)の場合、解析されるクエリはdocfile:tomatoes.jpg
小文字の「t」を使用します。
- なんで?
- どうすればこれを変更できますか?
ところで、org.apache.lucene.analysis.standard.StandardAnalyzerを使用しています。
lucene - Lucene インデックス バージョンを探しています
Luke V3.3.0 を使用すると、開いている Lucene インデックスが次のように表示されます。
- インデックス バージョン: 13172b074a7
- インデックス形式: -11 (Lucene 3.1)
Solr 3.3 を使用しています。インデックスを作成する前に、フォルダー /var/data/solr/myrepository を以前に削除しました。バージョンは Lucene 3.3 になると思います。Lucene 3.1 と Lucene 3.3 の間でインデックスの変更はありませんか? 結局のところ、インデックスが Lucene 3.3 を使用して作成されていることを確認したいだけです。Lucene インデックス バージョンを取得する簡単な方法は、私が探しているものです。
フィールドの折りたたみも機能するため、インデックスが変更された場合、インデックスのバージョンは正しいです。Solr管理ページからもこの情報が表示されません。
ありがとうございました。
java - 検索結果に出現する用語のセットを取得する方法は?
solr でインデックス付けされたドキュメントの ID/URL を指定すると、そのドキュメントに含まれる/インデックス付けされた一連の用語を取得できますか?
これは Luke によって行われているので、http://wiki.apache.org/solr/LukeRequestHandlerが役立つと思いますが、方法は確かです。
lucene - luceneインデックスを開くことができません(Javaヒープスペース)
luceneインデックスファイルからいくつかのデータを取得したいと思います。でも読めません。
を使おうとしていますLuke
が、常に。でクラッシュしjava.lang.OutOfMemoryError: Java heap space
ます。注意-Xmx
は私を助けることはできません。-Xmx512、-Xmx1024、さらには-Xmx2048を試してみます。
私Solr
も使ってみますが、使いjava.lang.OutOfMemoryError: Java heap space
すぎです。
Luceneからデータを抽出する方法はありますか?
PS私はlucene2.3.0を使用しています。私のインデックスファイルは1.8Gbサイズです。
apache - Apache Solr topTerms(LukeRequestHandler)が正しいトークンカウントを提供しない
数日前のSolr4トランクビルドを使用しています。
LukeRequestHandlerのWikiページ(最初の出力例)によると、各フィールドまたは指定されたフィールドのトークンの数を取得することになっています。これを使用して、すべてのドキュメントの各単語が表示される回数をカウントしたいと思います。たとえば、単語「is」が2つのMS Wordドキュメントに表示されている場合(最初のドキュメントに2回、2番目のドキュメントに3回)、次のような出力が得られます。
これは、「is」という単語が2つのドキュメントで合計5回出現するためです。しかし、私が実際に得るのは<int name="is">2</int>
です。これは、(文書によって)合計2回明確に発生するためだと思います。
しかし、繰り返しになりますが、Wikiによると、すべてのドキュメントを合計した合計数を取得することになっています。これが私が実際に望んでいることです。
インデックスに登録されたすべてのドキュメントのすべての単語が表示される合計回数を取得するにはどうすればよいですか?
参照:
java - 休止状態の検索でint値の検索を実装するにはどうすればよいですか?
整数値の検索を実行しようとしています。私は次のように@Fieldでパラメータに注釈を付けました:
次に、lukeを使用して範囲検索を実行します。
私が返す結果は空です。次に試してみます:
結果は次のとおりです。
だから私の質問は:なぜ私はこの応答を得るのですか、そしてそれをどのように解決するのですか?休止状態検索3.0.1.GAを使用します