0
이것은 MultiField 쿼리Lucene.Net : 어떻게 MultiFiledQueryParser를 BooleanQuery로 변환 할 수 있습니까?
''# Variables used by Lucene
Dim reader As IndexReader = IndexReader.Open(luceneDirectory, True)
Dim searcher As IndexSearcher = New IndexSearcher(reader)
Dim parser As QueryParser = New MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_29,
New String() {"title",
"description",
"region",
"pricelow",
"pricehigh",
"url",
"user",
"location"},
New StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29))
Dim query As Query = parser.Parse(search.ToLower)
''# We want to ensure that only relevant dates are being returned.
Dim nowValue = DateTools.DateToString(DateTime.Now, DateTools.Resolution.DAY)
Dim dateFilter = If(searchPast, Nothing, FieldCacheRangeFilter.NewStringRange("filterdate",
lowerVal:=nowValue,
includeLower:=True,
upperVal:=Nothing,
includeUpper:=False))
''#============================================================================
''# Here's where I also need to add a regionFilter where I have something like
''# Dim regionFilter = New FieldCacheTermsFilter("region", New String() {HttpContext.Current.Request.Url.Subdomain})
''# This is because we must always ONLY ever return search results that are from
''# HttpContext.Current.Request.Url.Subdomain (where Subdomain is an extension
''# method that returns the name of the region... much like Kijiji.ca)
''#============================================================================
Dim topDocs As TopDocs = searcher.Search(query, dateFilter, 1000)
난 그냥이 일에 대해 이동하는 방법을 잘 모르겠어요 않습니다 내 현재 코드입니다. 부울 쿼리를 수행하고 두 번째 필터를 포함 할 수 있도록 어떻게 변경할 수 있습니까?
참고 : 나는 아직도
위의 검색어를 사용하지 마세요. 내가 어디로 잘못 갔는지 모르겠다.사용자처럼 필드를 검색 할 수 있어야합니다 : 사용자 이름
위치 : 독일
를 등 내가 전에 엄격 부울 쿼리를 시도하고 내가 할 수있는