なぜTopTabId = 1027とContentPlainRemaded = Wordのドキュメントが存在するのですか?LUCENE.NETが2つで検索していないAND
{+TopTabId:1027 +ContentPlainRemaded:Word*}
このクエリでは、作業していて、その後、必要に応じて複数のレコードを返します:
{TopTabId:1027 +ContentPlainRemaded:Word*}
は、コードを動作していない:
Query query1;
BooleanQuery querySearch = new BooleanQuery()
query1 = ((new QueryParser(VersionsToUse, "TopTabId", Analyzer)).Parse("1027"));
querySearch.Add(new BooleanClause(query1, Occur.MUST));
query1 = ((new QueryParser(VersionsToUse, "ContentPlainRemaded", Analyzer)).Parse("WORD"));
querySearch.Add(query1, Occur.MUST);
using (IndexSearcher searcher = new IndexSearcher(SearchIndexDirectory, true))
{
var docs = searcher.Search(querySearch, 100);
.................................
}
LUCENE.NET 3.0.3
TopTabIDがあります文字列タイプ: ldoc.Add(new Field("TopTabId", doc.TopTabId.ToString(), Field.Store.YES, Field.Index.ANALYZED));
私はNumericRangeQuery
を試しましたが、依然として0の結果を返します。
私はこの問題は、(0の結果を返します)、これは動作していないので、TopTabIdではないと思う:{+ContentPlainRemaded:Word* +ContentPlainRemaded:Word*}
あなたの結果を確認することはできますか? 'TopTabId:1027 + ContentPlainRemaded:Word *'いくつかの結果が得られましたが、 '+ ContentPlainRemaded:Word * + ContentPlainRemaded:Word *'(または実質的に同等の '+ ContentPlainRemaded:Word *')それを実行する前にクエリを印刷して、期待どおりに見えるようにしてください。 – femtoRgon
2つのAND(+)要素を追加したときに作業しません。彼らは働いています: '+ ContentPlainRemaded:Word *'、 '+ TopTabId:1027'彼らは働いていません:' + ContentPlainRemaded:Word * + ContentPlainRemaded:Word * '' + TopTabId:1027 + ContentPlainRemaded:Word * ' – user3093010
働いているものとそうでないものを正確に説明していない。 '+ TopTabId:1027 + ContentPlainRemaded:Word *'が '+ ContentPlainRemaded:Word *、+ TopTabId:1027'とは異なる結果を得ていると言っていますか?それらはluceneのクエリ構文の* same *式なので、あなたが意味するものを理解するのは難しいです。それぞれのクエリを別々に実行しようとしましたか(つまり、ブールクエリを完全にカットしましたか)。 – femtoRgon