按順序我的意思是term1將始終在文檔中的term2之前。有序鄰近搜索
我有兩個文件: 1.「通過命令我的意思是字詞1將文檔中的詞條2之前總是」 2「通過命令我的意思是詞條2總會來的文件中字詞1之前」
如果我使查詢:
"term1 term2"~Integer.MAX_VALUE
我的結果是:2個文件
我如何可以查詢到有一個結果(僅當字詞1字詞2之前來): 「通過命令我的意思是字詞1總是支持s出現在文檔「
任何想法?
按順序我的意思是term1將始終在文檔中的term2之前。有序鄰近搜索
我有兩個文件: 1.「通過命令我的意思是字詞1將文檔中的詞條2之前總是」 2「通過命令我的意思是詞條2總會來的文件中字詞1之前」
如果我使查詢:
"term1 term2"~Integer.MAX_VALUE
我的結果是:2個文件
我如何可以查詢到有一個結果(僅當字詞1字詞2之前來): 「通過命令我的意思是字詞1總是支持s出現在文檔「
任何想法?
您將需要使用SpanNearQuery
此匹配跨度其中彼此靠近。可以指定污漬,干預不匹配位置的最大數量,以及是否需要按順序排列。
但是,Solr的dismax和edismax查詢解析器使用短語查詢,因此匹配總是無序的。
SurroundQueryParser支持跨度查詢,並且可以選擇對語法有輕微變化的有序和無序詞條進行查詢。
儘管此查詢解析器僅適用於中繼。
更多資料@http://www.lucidimagination.com/blog/2009/02/22/exploring-query-parsers/