2016-12-30 1 views
0

Apache Lucene을 처음 사용했습니다. 더 나은 검색 속도를 낼 수 있도록 키/값 쌍을 저장하는 가장 좋은 방법은 무엇입니까?Apache lucene의 키/값 쌍 검색 속도

doc.add(new Field("name", "Cake", TextField.TYPE_STORED)); 
doc.add(new Field("value", "Praline Cheesecake", TextField.TYPE_STORED)); 

다음이

name:"Cake" AND value:"Praline Cheesecake" 

또는

doc.add(new Field("Cake", "Praline Cheesecake", TextField.TYPE_STORED)); 

같은 검색을 수행하고이

Cake:"Praline Cheesecake" 
같은 검색을 수행

나는 두 가지 옵션이 있습니다3210

두 번째 옵션의 검색 속도가 빠릅니다. 내가 맞습니까? 다른 옵션이 있습니까?

답변

1

Here은 Solr 성능 요소를 나열하는 좋은 페이지입니다.

나는 다음과 같은 제안하고 싶습니다 : 인덱스의 필드를 저장 피할 수있는 경우

  1. , 그것은 크게 성능을 향상시킬 것입니다.
  2. "type : cake"라고 말한 다음 "name : cake_name"이라고 말하지 않아도됩니다. "cake : cake_name"으로 검색하면됩니다. 특정 문서에 "케이크"필드가 없으면 결과에 나타나지 않습니다.
  3. TextField에 대한 SchemaDefinition에서 omitNorms = true를 설정하십시오.

    doc.add(new Field("Cake", "Praline Cheesecake", TextField.INDEXED)); 
    

    당신이 SOLR로 시작되기 때문에이는 documentation 시작할 수있는 좋은 장소입니다 :

그래서 결론적으로, 내가 함께 갈 것입니다.

+0

omitNorms = true가 검색을 최적화하는 방법을 설명 할 수 있습니까? –