예 : Lucene 문서에 "description"이라는 열이 있습니다. "설명"의 콘텐츠가 [hello foo bar
]이라고 가정 해 봅시다. 나는 [hello f
]라는 쿼리를 원한다. 그러면 문서가 쳐져야한다. [hello ff
] 또는 [hello b
]은 치지 말아야한다. Lucene의 복수 단어 쿼리
PrefixQuery
로,
TermQuery
는
BooleanQuery
에 추가되었지만, 예상대로 작동하지 마십시오
Query
를 만드는 프로그래밍 방법을 사용합니다.
StandardAnalyzer
이 사용됩니다.
테스트 케이스 :
는A) : PhraseQuery query = new PhraseQuery(); query.add(new Term("description", "hello f"))
-0가
모든 권고를 히트> : - : -> 0 명중
C) PhraseQuery query = new PhraseQuery(); query.add(new Term("description", "hello f*"))
new PrefixQuery(new Term("description", "hello f"))
> 0
B)를 공격? 감사!
을 당신은 어떻게이 해봤습니까? 일부 코드 조각을 보여줄 수 있습니까? 이렇게하면 문제를 훨씬 잘 이해하는 데 도움이됩니다. –
org.apache.lucene.queryParser.QueryParse를 사용하여 "description : hello AND description : f *"와 같은 쿼리 문자열을 구문 분석 해 보았습니까? – pabrantes
@pabrantes "description : 안녕하세요 AND 설명 : f *"가 필요하지 않습니다. "hello"다음에 "f"가 필요합니다. –