私はLuceneインデックスの1つに問題があります。私は基本的なブール検索を実行しようとしていますが、検索は他のインデックスでも機能しますが、私のproducts
インデックスでは、私はエラーが出ています: "フィールド 'Description'には文書よりも条件があります。トークン化されたフィールド。Lucene:フィールドには文書よりも多くの用語がありますが、トークン化されたフィールドを並べ替えることは不可能です
は、ここに私のクエリを使用してコードです:
var luceneIndexDataContext = new BcsUsLuceneDataContext("rewardproducts", _dbName);
string fieldToQuery = "description";
bool sortDirection = query.sortDirection.ToLower().Equals("desc");
QueryParser parser = new QueryParser(fieldToQuery, new StandardAnalyzer());
Query q = parser.Parse("\"" + query.keywords.ToLower() + "\"");
var booleanQuery = new BooleanQuery();
booleanQuery.Add(q, BooleanClause.Occur.MUST);
return luceneIndexDataContext.BooleanQuerySearch(booleanQuery, fieldToQuery, sortDirection)
.Where(i => i.Fields["eligibleforpurchase"] == "1");
private List<SkinnyItem> BooleanQuerySearch(BooleanQuery query, string sortField, bool sortReverse)
{
using (QueryRunner runner = new QueryRunner(IndexName))
{
if (sortField != string.Empty)
{
return runner.RunQuery(query, false, sortField, sortReverse, 0, 1000);
}
else
{
return runner.RunQuery(query, false);
}
}
}
私は私のインデックスに問題がなければならないと思いますが、私は問題が何であるかわかりません。商品インデックスは他の環境(QA環境など)で動作していますが、QAのインデックスをローカルにコピーすると正常に動作しますが、削除して再構築するとエラーが発生します。私は、インデックスや何かの項目のいくつかに問題がなければならないと思っていますが、どうすればそれを見つけることができますか?