검색 색인이 있으며 특정 필드를 조건부로 검색 할 lucene 쿼리가 필요합니다. 최종 결과는 웹 사이트에 로그인하면 모든 필드가 검색되거나 로그 아웃 된 경우 lucene 쿼리를 수정하여 지정된 필드를 건너 뜁니다.Lucene - 검색 할 필드를 제외하십시오.
순간에 내가 가지고있는 가장 가까운입니다
이+(term1~ term2~) +_culture:([en-gb TO en-gb] [invariantifieldivaluei TO invariantifieldivaluei]) **-FieldToIgnore1:(term1 term2) -FieldToIgnore2:(term1 term2)**
이 검색어 중 하나가 필드하지 언급 (FieldToIgnore1 또는 FieldToIgnore2) 중 하나에있는 경우 이것에 대한 문제는 그러나이며, 다음 문서는 무시할 필드 중 하나가 일치 할 때 제외 되었기 때문에 무시되었습니다.
lucene이 무시할 필드와 일치하지 않도록 어떻게 수정할 수 있습니까?
나는 이해할 수 없다. 일반적으로 필드를 무시하는 것은 꽤 쉽습니다. 해당 필드에서 * 검색하지 마십시오. 'MultiFieldQueryParser' 또는 무엇인가를 사용하고 있습니까? 또는 기본 검색 필드가 어떤 종류의 포괄적 인 필드입니까? 또는 무엇을? – femtoRgon
죄송합니다 - 나는 Lucene 용어에 익숙하지 않지만 캐치 올 필드 옵션이라고 생각합니다. 이 기능은 [Lucene query parser syntax] (http : //lucene.apache)를 사용하는 [Kentico CMS의 스마트 검색] (https://docs.kentico.com/display/K9/Smart+search+syntax) .org/core/3_0_3/queryparsersyntax.html) 도움이된다면? – ajbrun
그런 경우에는 일치하는 필드가 어떤 것인지 알 수있는 방법이 없을 수 있습니다. "모든"필드는 단어의 큰 가방 일 것입니다. 원하는 필드 만 검색하도록 쿼리를 작성해야합니다 (또는 검색 할 필드 만 결합한 별도의 검색 필드를 인덱싱 할 수도 있음). 나는 Kentico에 관해서는 아무 것도 모른다. 그래서 당신의 지수 등을 조정할 수 있는지에 대해서는 모른다. – femtoRgon